976: /* Bug 2560048/2639395 RAM-C - call collectivity engine to determine
977: if revenue should be deferred for INV or CM */
978: /* 6060283 - changed credits from cash_based to line_collectible
979: so they honor deferrals other than cash-based ones */
980: AND decode(header.invoicing_rule_id, -3, ar_revenue_management_pvt.collect,
981: decode(nvl(acc_rule.deferred_revenue_flag, 'N'),
982: 'Y', ar_revenue_management_pvt.defer,
983: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
984: decode(header.previous_customer_trx_id, NULL,
978: /* 6060283 - changed credits from cash_based to line_collectible
979: so they honor deferrals other than cash-based ones */
980: AND decode(header.invoicing_rule_id, -3, ar_revenue_management_pvt.collect,
981: decode(nvl(acc_rule.deferred_revenue_flag, 'N'),
982: 'Y', ar_revenue_management_pvt.defer,
983: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
984: decode(header.previous_customer_trx_id, NULL,
985: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
986: ar_revenue_management_pvt.line_collectible(
979: so they honor deferrals other than cash-based ones */
980: AND decode(header.invoicing_rule_id, -3, ar_revenue_management_pvt.collect,
981: decode(nvl(acc_rule.deferred_revenue_flag, 'N'),
982: 'Y', ar_revenue_management_pvt.defer,
983: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
984: decode(header.previous_customer_trx_id, NULL,
985: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
986: ar_revenue_management_pvt.line_collectible(
987: lines.previous_customer_trx_id,
981: decode(nvl(acc_rule.deferred_revenue_flag, 'N'),
982: 'Y', ar_revenue_management_pvt.defer,
983: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
984: decode(header.previous_customer_trx_id, NULL,
985: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
986: ar_revenue_management_pvt.line_collectible(
987: lines.previous_customer_trx_id,
988: lines.previous_customer_trx_line_id)))))
989: <> ar_revenue_management_pvt.defer
982: 'Y', ar_revenue_management_pvt.defer,
983: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
984: decode(header.previous_customer_trx_id, NULL,
985: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
986: ar_revenue_management_pvt.line_collectible(
987: lines.previous_customer_trx_id,
988: lines.previous_customer_trx_line_id)))))
989: <> ar_revenue_management_pvt.defer
990: AND rec.customer_trx_id = header.customer_trx_id
985: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
986: ar_revenue_management_pvt.line_collectible(
987: lines.previous_customer_trx_id,
988: lines.previous_customer_trx_line_id)))))
989: <> ar_revenue_management_pvt.defer
990: AND rec.customer_trx_id = header.customer_trx_id
991: AND rec.account_class = 'REC'
992: AND rec.latest_rec_flag = 'Y'
993: /* join account set distribution to the transaction with the
1210: /* Bug 2560048/2639395 RAM-C - call collectivity engine to determine
1211: if revenue should be deferred for INV or CM */
1212: /* 6060283 - changed credits from cash_based to line_collectible
1213: so they honor deferrals other than cash-based ones */
1214: AND decode(header.invoicing_rule_id, -3, ar_revenue_management_pvt.collect,
1215: decode(nvl(acc_rule.deferred_revenue_flag, 'N'),
1216: 'Y', ar_revenue_management_pvt.defer,
1217: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
1218: decode(header.previous_customer_trx_id, NULL,
1212: /* 6060283 - changed credits from cash_based to line_collectible
1213: so they honor deferrals other than cash-based ones */
1214: AND decode(header.invoicing_rule_id, -3, ar_revenue_management_pvt.collect,
1215: decode(nvl(acc_rule.deferred_revenue_flag, 'N'),
1216: 'Y', ar_revenue_management_pvt.defer,
1217: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
1218: decode(header.previous_customer_trx_id, NULL,
1219: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
1220: ar_revenue_management_pvt.line_collectible(
1213: so they honor deferrals other than cash-based ones */
1214: AND decode(header.invoicing_rule_id, -3, ar_revenue_management_pvt.collect,
1215: decode(nvl(acc_rule.deferred_revenue_flag, 'N'),
1216: 'Y', ar_revenue_management_pvt.defer,
1217: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
1218: decode(header.previous_customer_trx_id, NULL,
1219: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
1220: ar_revenue_management_pvt.line_collectible(
1221: lines.previous_customer_trx_id,
1215: decode(nvl(acc_rule.deferred_revenue_flag, 'N'),
1216: 'Y', ar_revenue_management_pvt.defer,
1217: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
1218: decode(header.previous_customer_trx_id, NULL,
1219: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
1220: ar_revenue_management_pvt.line_collectible(
1221: lines.previous_customer_trx_id,
1222: lines.previous_customer_trx_line_id)))))
1223: <> ar_revenue_management_pvt.defer
1216: 'Y', ar_revenue_management_pvt.defer,
1217: decode(g_rev_mgt_installed, 'N', ar_revenue_management_pvt.collect,
1218: decode(header.previous_customer_trx_id, NULL,
1219: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
1220: ar_revenue_management_pvt.line_collectible(
1221: lines.previous_customer_trx_id,
1222: lines.previous_customer_trx_line_id)))))
1223: <> ar_revenue_management_pvt.defer
1224: AND rec.customer_trx_id = header.customer_trx_id
1219: ar_revenue_management_pvt.line_collectibility(p_trx_id, lines.customer_trx_line_id),
1220: ar_revenue_management_pvt.line_collectible(
1221: lines.previous_customer_trx_id,
1222: lines.previous_customer_trx_line_id)))))
1223: <> ar_revenue_management_pvt.defer
1224: AND rec.customer_trx_id = header.customer_trx_id
1225: AND rec.account_class = 'REC'
1226: AND rec.latest_rec_flag = 'Y'
1227: /* join account set distribution to the transaction with the
3507: END create_distributions;
3508:
3509: BEGIN
3510: /* Bug 2560048: check if revenue management is installed */
3511: IF ar_revenue_management_pvt.revenue_management_enabled
3512: THEN
3513: g_rev_mgt_installed := 'Y';
3514: ELSE
3515: g_rev_mgt_installed := 'N';