252:
253: -- Set Debugging info
254: IF p_debug_mode = 'Y'
255: THEN
256: pa_cc_utils.g_debug_mode := TRUE;
257: ELSE
258: pa_cc_utils.g_debug_mode := FALSE;
259: END IF;
260:
254: IF p_debug_mode = 'Y'
255: THEN
256: pa_cc_utils.g_debug_mode := TRUE;
257: ELSE
258: pa_cc_utils.g_debug_mode := FALSE;
259: END IF;
260:
261:
262: set_curr_function('pa_bl_pr');
1460: from pa_cc_dist_lines
1461: where expenditure_item_id = ei1.expenditure_item_id
1462: and line_type = 'BL')
1463: )
1464: where ccdl2.request_id = pa_cc_utils.g_request_id
1465: and ccdl2.dist_line_id_reversed is null
1466: and ccdl2.line_type = 'BL'
1467: and exists
1468: (select 1 from pa_expenditure_items_all ei
1518: SELECT ledger_id,
1519: currency_code
1520: FROM gl_alc_ledger_rships_v
1521: WHERE source_ledger_id = p_primary_sob_id
1522: AND application_id = pa_cc_utils.g_program_application_id
1523: AND relationship_enabled_flag = 'Y'
1524: AND (org_id = -99 OR org_id = p_org_id); -- R12 MRC changes
1525: -- AND nvl(org_id,-99) = nvl(p_org_id, -99);
1526: -- AND trunc(sysdate) BETWEEN start_date AND nvl(end_date, sysdate);
1533: END IF;
1534:
1535: -- Copy who columns into global variables
1536:
1537: pa_cc_utils.g_request_id := p_request_id;
1538: pa_cc_utils.g_program_application_id := p_program_application_id;
1539: pa_cc_utils.g_program_id := p_program_id;
1540: pa_cc_utils.g_user_id := p_user_id;
1541: pa_cc_utils.g_login_id := p_login_id;
1534:
1535: -- Copy who columns into global variables
1536:
1537: pa_cc_utils.g_request_id := p_request_id;
1538: pa_cc_utils.g_program_application_id := p_program_application_id;
1539: pa_cc_utils.g_program_id := p_program_id;
1540: pa_cc_utils.g_user_id := p_user_id;
1541: pa_cc_utils.g_login_id := p_login_id;
1542:
1535: -- Copy who columns into global variables
1536:
1537: pa_cc_utils.g_request_id := p_request_id;
1538: pa_cc_utils.g_program_application_id := p_program_application_id;
1539: pa_cc_utils.g_program_id := p_program_id;
1540: pa_cc_utils.g_user_id := p_user_id;
1541: pa_cc_utils.g_login_id := p_login_id;
1542:
1543: -- Set global variables
1536:
1537: pa_cc_utils.g_request_id := p_request_id;
1538: pa_cc_utils.g_program_application_id := p_program_application_id;
1539: pa_cc_utils.g_program_id := p_program_id;
1540: pa_cc_utils.g_user_id := p_user_id;
1541: pa_cc_utils.g_login_id := p_login_id;
1542:
1543: -- Set global variables
1544: pa_cc_utils.g_prvdr_org_id := p_prvdr_org_id;
1537: pa_cc_utils.g_request_id := p_request_id;
1538: pa_cc_utils.g_program_application_id := p_program_application_id;
1539: pa_cc_utils.g_program_id := p_program_id;
1540: pa_cc_utils.g_user_id := p_user_id;
1541: pa_cc_utils.g_login_id := p_login_id;
1542:
1543: -- Set global variables
1544: pa_cc_utils.g_prvdr_org_id := p_prvdr_org_id;
1545: pa_cc_utils.g_primary_sob_id := p_primary_sob_id;
1540: pa_cc_utils.g_user_id := p_user_id;
1541: pa_cc_utils.g_login_id := p_login_id;
1542:
1543: -- Set global variables
1544: pa_cc_utils.g_prvdr_org_id := p_prvdr_org_id;
1545: pa_cc_utils.g_primary_sob_id := p_primary_sob_id;
1546:
1547:
1548: -- Set initialization flag so that this procedure is not performed in
1541: pa_cc_utils.g_login_id := p_login_id;
1542:
1543: -- Set global variables
1544: pa_cc_utils.g_prvdr_org_id := p_prvdr_org_id;
1545: pa_cc_utils.g_primary_sob_id := p_primary_sob_id;
1546:
1547:
1548: -- Set initialization flag so that this procedure is not performed in
1549: -- the second call to this package for the next set of expenditure
1565: LOOP
1566:
1567: i := i + 1;
1568:
1569: pa_cc_utils.g_reporting_sob_id(i) := c.ledger_id;
1570:
1571: IF P_DEBUG_MODE = 'Y' THEN
1572: log_message('reverse_distribution: ' || '3450: Got a reporting SOB: ' || pa_cc_utils.g_reporting_sob_id(i));
1573: END IF;
1568:
1569: pa_cc_utils.g_reporting_sob_id(i) := c.ledger_id;
1570:
1571: IF P_DEBUG_MODE = 'Y' THEN
1572: log_message('reverse_distribution: ' || '3450: Got a reporting SOB: ' || pa_cc_utils.g_reporting_sob_id(i));
1573: END IF;
1574:
1575: pa_cc_utils.g_reporting_curr_code(i) := c.currency_code;
1576:
1571: IF P_DEBUG_MODE = 'Y' THEN
1572: log_message('reverse_distribution: ' || '3450: Got a reporting SOB: ' || pa_cc_utils.g_reporting_sob_id(i));
1573: END IF;
1574:
1575: pa_cc_utils.g_reporting_curr_code(i) := c.currency_code;
1576:
1577: END LOOP;
1578:
1579: -- MRC is enabled if at least one reporting set of books is present
1577: END LOOP;
1578:
1579: -- MRC is enabled if at least one reporting set of books is present
1580:
1581: IF pa_cc_utils.g_reporting_sob_id.exists(1)
1582: THEN
1583: --g_mrc_enabled := TRUE;
1584: IF P_DEBUG_MODE = 'Y' THEN
1585: log_message('reverse_distribution: ' || '3500: MRC ENABLED');
2041:
2042: pa_mc_borrlent.bl_mc_delete
2043: (
2044: p_cc_dist_line_id => in_cc_dist_line_id
2045: ,p_debug_mode => pa_cc_utils.g_debug_mode
2046: );
2047:
2048: log_message('4700: Finished delete for MRC');
2049:
2132: -- performed for a reporting set of books across operating units and
2133: -- hence a combination of operating units may be present in a single
2134: -- call
2135:
2136: in_prvdr_org_id(i) := pa_cc_utils.g_prvdr_org_id;
2137:
2138: -- The following reference_1, reference_2 and reference_3 columns are
2139: -- only populated by the InterCompany invoicing and the MRC upgrade
2140: -- processes. Reference_2 (type of provider reclass base) and
2270: in_acct_currency_code(i), -- acct_currency_code
2271: in_amount(i), -- amount
2272: in_project_id(i), -- project_id
2273: in_task_id(i), -- task_id
2274: pa_cc_utils.g_request_id, -- request_id
2275: sysdate, -- last_update_date
2276: pa_cc_utils.g_user_id, -- last_updated_by
2277: sysdate, -- creation_date
2278: pa_cc_utils.g_user_id, -- created_by
2272: in_project_id(i), -- project_id
2273: in_task_id(i), -- task_id
2274: pa_cc_utils.g_request_id, -- request_id
2275: sysdate, -- last_update_date
2276: pa_cc_utils.g_user_id, -- last_updated_by
2277: sysdate, -- creation_date
2278: pa_cc_utils.g_user_id, -- created_by
2279: pa_cc_utils.g_login_id, -- last_update_login
2280: in_line_num_reversed(i), -- line_num_reversed
2274: pa_cc_utils.g_request_id, -- request_id
2275: sysdate, -- last_update_date
2276: pa_cc_utils.g_user_id, -- last_updated_by
2277: sysdate, -- creation_date
2278: pa_cc_utils.g_user_id, -- created_by
2279: pa_cc_utils.g_login_id, -- last_update_login
2280: in_line_num_reversed(i), -- line_num_reversed
2281: in_dist_line_id_reversed(i), -- dist_line_id_reversed
2282: in_reversed_flag(i), -- reversed_flag
2275: sysdate, -- last_update_date
2276: pa_cc_utils.g_user_id, -- last_updated_by
2277: sysdate, -- creation_date
2278: pa_cc_utils.g_user_id, -- created_by
2279: pa_cc_utils.g_login_id, -- last_update_login
2280: in_line_num_reversed(i), -- line_num_reversed
2281: in_dist_line_id_reversed(i), -- dist_line_id_reversed
2282: in_reversed_flag(i), -- reversed_flag
2283: in_denom_tp_currency_code(i), -- denom_tp_currency_code
2305: in_rule_percentage(i), -- rule_percentage
2306: in_reference_1(i), -- reference_1
2307: in_reference_2(i), -- reference_2
2308: in_reference_3(i), -- reference_3
2309: pa_cc_utils.g_program_application_id, -- program_application_id
2310: pa_cc_utils.g_program_id, -- program_id
2311: sysdate, -- program_update_date
2312: /* Added for cross proj*/
2313: in_tp_amt_type_code(i),
2306: in_reference_1(i), -- reference_1
2307: in_reference_2(i), -- reference_2
2308: in_reference_3(i), -- reference_3
2309: pa_cc_utils.g_program_application_id, -- program_application_id
2310: pa_cc_utils.g_program_id, -- program_id
2311: sysdate, -- program_update_date
2312: /* Added for cross proj*/
2313: in_tp_amt_type_code(i),
2314: in_project_tp_rate_type(i),
2339:
2340: /*IF g_mrc_enabled
2341: THEN
2342: log_message('5150: MRC Enabled; calling mass insert for MRC:'||
2343: pa_cc_utils.g_program_application_id);
2344:
2345: pa_mc_borrlent.bl_mc_insert
2346: (
2347: p_primary_sob_id => pa_cc_utils.g_primary_sob_id
2343: pa_cc_utils.g_program_application_id);
2344:
2345: pa_mc_borrlent.bl_mc_insert
2346: (
2347: p_primary_sob_id => pa_cc_utils.g_primary_sob_id
2348: ,p_prvdr_org_id => in_prvdr_org_id
2349: ,p_rsob_id => pa_cc_utils.g_reporting_sob_id
2350: ,p_rcurrency_code => pa_cc_utils.g_reporting_curr_code
2351: ,p_cc_dist_line_id => in_cc_dist_line_id
2345: pa_mc_borrlent.bl_mc_insert
2346: (
2347: p_primary_sob_id => pa_cc_utils.g_primary_sob_id
2348: ,p_prvdr_org_id => in_prvdr_org_id
2349: ,p_rsob_id => pa_cc_utils.g_reporting_sob_id
2350: ,p_rcurrency_code => pa_cc_utils.g_reporting_curr_code
2351: ,p_cc_dist_line_id => in_cc_dist_line_id
2352: ,p_expenditure_item_id => in_expenditure_item_id
2353: ,p_line_num => in_line_num
2346: (
2347: p_primary_sob_id => pa_cc_utils.g_primary_sob_id
2348: ,p_prvdr_org_id => in_prvdr_org_id
2349: ,p_rsob_id => pa_cc_utils.g_reporting_sob_id
2350: ,p_rcurrency_code => pa_cc_utils.g_reporting_curr_code
2351: ,p_cc_dist_line_id => in_cc_dist_line_id
2352: ,p_expenditure_item_id => in_expenditure_item_id
2353: ,p_line_num => in_line_num
2354: ,p_line_type => in_line_type
2359: ,p_denom_transfer_price => in_denom_transfer_price
2360: ,p_dist_line_id_reversed => in_dist_line_id_reversed
2361: ,p_prvdr_cost_reclass_code => in_reference_2
2362: ,p_cdl_line_num => in_reference_3
2363: ,p_login_id => pa_cc_utils.g_login_id
2364: ,p_program_id => pa_cc_utils.g_program_id
2365: ,p_program_application_id => pa_cc_utils.g_program_application_id
2366: ,p_request_id => pa_cc_utils.g_request_id
2367: ,p_debug_mode => pa_cc_utils.g_debug_mode
2360: ,p_dist_line_id_reversed => in_dist_line_id_reversed
2361: ,p_prvdr_cost_reclass_code => in_reference_2
2362: ,p_cdl_line_num => in_reference_3
2363: ,p_login_id => pa_cc_utils.g_login_id
2364: ,p_program_id => pa_cc_utils.g_program_id
2365: ,p_program_application_id => pa_cc_utils.g_program_application_id
2366: ,p_request_id => pa_cc_utils.g_request_id
2367: ,p_debug_mode => pa_cc_utils.g_debug_mode
2368: );
2361: ,p_prvdr_cost_reclass_code => in_reference_2
2362: ,p_cdl_line_num => in_reference_3
2363: ,p_login_id => pa_cc_utils.g_login_id
2364: ,p_program_id => pa_cc_utils.g_program_id
2365: ,p_program_application_id => pa_cc_utils.g_program_application_id
2366: ,p_request_id => pa_cc_utils.g_request_id
2367: ,p_debug_mode => pa_cc_utils.g_debug_mode
2368: );
2369: END IF;*/
2362: ,p_cdl_line_num => in_reference_3
2363: ,p_login_id => pa_cc_utils.g_login_id
2364: ,p_program_id => pa_cc_utils.g_program_id
2365: ,p_program_application_id => pa_cc_utils.g_program_application_id
2366: ,p_request_id => pa_cc_utils.g_request_id
2367: ,p_debug_mode => pa_cc_utils.g_debug_mode
2368: );
2369: END IF;*/
2370:
2363: ,p_login_id => pa_cc_utils.g_login_id
2364: ,p_program_id => pa_cc_utils.g_program_id
2365: ,p_program_application_id => pa_cc_utils.g_program_application_id
2366: ,p_request_id => pa_cc_utils.g_request_id
2367: ,p_debug_mode => pa_cc_utils.g_debug_mode
2368: );
2369: END IF;*/
2370:
2371: END IF; -- If g_icnt > 0
2441: -- performed for a reporting set of books across operating units and
2442: -- hence a combination of operating units may be present in a single
2443: -- call
2444:
2445: in_prvdr_org_id(i) := pa_cc_utils.g_prvdr_org_id;
2446:
2447: -- The following reference_1, reference_2 and reference_3 columns are
2448: -- only populated by the InterCompany invoicing and the MRC upgrade
2449: -- processes. Reference_2 (type of provider reclass base) and
2621: in_project_tp_currency_code(i),project_tp_currency_code),
2622: projfunc_tp_currency_code = decode(in_upd_type(i), 'U',
2623: in_projfunc_tp_currency_code(i),projfunc_tp_currency_code),
2624: /*End Cross proj*/
2625: last_updated_by = pa_cc_utils.g_user_id,
2626: last_update_login = pa_cc_utils.g_login_id,
2627: last_update_date = sysdate,
2628: request_id = pa_cc_utils.g_request_id,
2629: program_application_id = pa_cc_utils.g_program_application_id,
2622: projfunc_tp_currency_code = decode(in_upd_type(i), 'U',
2623: in_projfunc_tp_currency_code(i),projfunc_tp_currency_code),
2624: /*End Cross proj*/
2625: last_updated_by = pa_cc_utils.g_user_id,
2626: last_update_login = pa_cc_utils.g_login_id,
2627: last_update_date = sysdate,
2628: request_id = pa_cc_utils.g_request_id,
2629: program_application_id = pa_cc_utils.g_program_application_id,
2630: program_id = pa_cc_utils.g_program_id,
2624: /*End Cross proj*/
2625: last_updated_by = pa_cc_utils.g_user_id,
2626: last_update_login = pa_cc_utils.g_login_id,
2627: last_update_date = sysdate,
2628: request_id = pa_cc_utils.g_request_id,
2629: program_application_id = pa_cc_utils.g_program_application_id,
2630: program_id = pa_cc_utils.g_program_id,
2631: program_update_date = sysdate
2632: WHERE rowid = in_RowId(i);
2625: last_updated_by = pa_cc_utils.g_user_id,
2626: last_update_login = pa_cc_utils.g_login_id,
2627: last_update_date = sysdate,
2628: request_id = pa_cc_utils.g_request_id,
2629: program_application_id = pa_cc_utils.g_program_application_id,
2630: program_id = pa_cc_utils.g_program_id,
2631: program_update_date = sysdate
2632: WHERE rowid = in_RowId(i);
2633:
2626: last_update_login = pa_cc_utils.g_login_id,
2627: last_update_date = sysdate,
2628: request_id = pa_cc_utils.g_request_id,
2629: program_application_id = pa_cc_utils.g_program_application_id,
2630: program_id = pa_cc_utils.g_program_id,
2631: program_update_date = sysdate
2632: WHERE rowid = in_RowId(i);
2633:
2634: log_message('5500: -- Rows updated = ' || to_char(sql%ROWCOUNT));
2642: log_message('5600: first line id passed ' || in_cc_dist_line_id(1));
2643:
2644: pa_mc_borrlent.bl_mc_update
2645: (
2646: p_primary_sob_id => pa_cc_utils.g_primary_sob_id
2647: ,p_prvdr_org_id => in_prvdr_org_id
2648: ,p_rsob_id => pa_cc_utils.g_reporting_sob_id
2649: ,p_rcurrency_code => pa_cc_utils.g_reporting_curr_code
2650: ,p_cc_dist_line_id => in_cc_dist_line_id
2644: pa_mc_borrlent.bl_mc_update
2645: (
2646: p_primary_sob_id => pa_cc_utils.g_primary_sob_id
2647: ,p_prvdr_org_id => in_prvdr_org_id
2648: ,p_rsob_id => pa_cc_utils.g_reporting_sob_id
2649: ,p_rcurrency_code => pa_cc_utils.g_reporting_curr_code
2650: ,p_cc_dist_line_id => in_cc_dist_line_id
2651: ,p_line_type => in_line_type
2652: ,p_upd_type => in_upd_type
2645: (
2646: p_primary_sob_id => pa_cc_utils.g_primary_sob_id
2647: ,p_prvdr_org_id => in_prvdr_org_id
2648: ,p_rsob_id => pa_cc_utils.g_reporting_sob_id
2649: ,p_rcurrency_code => pa_cc_utils.g_reporting_curr_code
2650: ,p_cc_dist_line_id => in_cc_dist_line_id
2651: ,p_line_type => in_line_type
2652: ,p_upd_type => in_upd_type
2653: ,p_expenditure_item_date => in_expenditure_item_date
2656: ,p_acct_tp_exchange_rate => in_acct_tp_exchange_rate
2657: ,p_denom_transfer_price => in_denom_transfer_price
2658: ,p_prvdr_cost_reclass_code => in_reference_2
2659: ,p_cdl_line_num => in_reference_3
2660: ,p_login_id => pa_cc_utils.g_login_id
2661: ,p_program_id => pa_cc_utils.g_program_id
2662: ,p_program_application_id => pa_cc_utils.g_program_application_id
2663: ,p_request_id => pa_cc_utils.g_request_id
2664: ,p_debug_mode => pa_cc_utils.g_debug_mode
2657: ,p_denom_transfer_price => in_denom_transfer_price
2658: ,p_prvdr_cost_reclass_code => in_reference_2
2659: ,p_cdl_line_num => in_reference_3
2660: ,p_login_id => pa_cc_utils.g_login_id
2661: ,p_program_id => pa_cc_utils.g_program_id
2662: ,p_program_application_id => pa_cc_utils.g_program_application_id
2663: ,p_request_id => pa_cc_utils.g_request_id
2664: ,p_debug_mode => pa_cc_utils.g_debug_mode
2665: );
2658: ,p_prvdr_cost_reclass_code => in_reference_2
2659: ,p_cdl_line_num => in_reference_3
2660: ,p_login_id => pa_cc_utils.g_login_id
2661: ,p_program_id => pa_cc_utils.g_program_id
2662: ,p_program_application_id => pa_cc_utils.g_program_application_id
2663: ,p_request_id => pa_cc_utils.g_request_id
2664: ,p_debug_mode => pa_cc_utils.g_debug_mode
2665: );
2666:
2659: ,p_cdl_line_num => in_reference_3
2660: ,p_login_id => pa_cc_utils.g_login_id
2661: ,p_program_id => pa_cc_utils.g_program_id
2662: ,p_program_application_id => pa_cc_utils.g_program_application_id
2663: ,p_request_id => pa_cc_utils.g_request_id
2664: ,p_debug_mode => pa_cc_utils.g_debug_mode
2665: );
2666:
2667: log_message('5650: Finished MRC update');
2660: ,p_login_id => pa_cc_utils.g_login_id
2661: ,p_program_id => pa_cc_utils.g_program_id
2662: ,p_program_application_id => pa_cc_utils.g_program_application_id
2663: ,p_request_id => pa_cc_utils.g_request_id
2664: ,p_debug_mode => pa_cc_utils.g_debug_mode
2665: );
2666:
2667: log_message('5650: Finished MRC update');
2668:
3062: (in_projfunc_tp_exchange_rate(i)),projfunc_tp_exchange_rate),
3063: projfunc_transfer_price = decode(in_upd_type(i), 'U',
3064: in_projfunc_transfer_price(i),projfunc_transfer_price),
3065: /*End Cross proj*/
3066: last_updated_by = pa_cc_utils.g_user_id,
3067: last_update_login = pa_cc_utils.g_login_id,
3068: last_update_date = sysdate,
3069: request_id = pa_cc_utils.g_request_id,
3070: program_application_id = pa_cc_utils.g_program_application_id,
3063: projfunc_transfer_price = decode(in_upd_type(i), 'U',
3064: in_projfunc_transfer_price(i),projfunc_transfer_price),
3065: /*End Cross proj*/
3066: last_updated_by = pa_cc_utils.g_user_id,
3067: last_update_login = pa_cc_utils.g_login_id,
3068: last_update_date = sysdate,
3069: request_id = pa_cc_utils.g_request_id,
3070: program_application_id = pa_cc_utils.g_program_application_id,
3071: program_id = pa_cc_utils.g_program_id,
3065: /*End Cross proj*/
3066: last_updated_by = pa_cc_utils.g_user_id,
3067: last_update_login = pa_cc_utils.g_login_id,
3068: last_update_date = sysdate,
3069: request_id = pa_cc_utils.g_request_id,
3070: program_application_id = pa_cc_utils.g_program_application_id,
3071: program_id = pa_cc_utils.g_program_id,
3072: program_update_date = sysdate
3073: WHERE rowid = in_RowId(i);
3066: last_updated_by = pa_cc_utils.g_user_id,
3067: last_update_login = pa_cc_utils.g_login_id,
3068: last_update_date = sysdate,
3069: request_id = pa_cc_utils.g_request_id,
3070: program_application_id = pa_cc_utils.g_program_application_id,
3071: program_id = pa_cc_utils.g_program_id,
3072: program_update_date = sysdate
3073: WHERE rowid = in_RowId(i);
3074:
3067: last_update_login = pa_cc_utils.g_login_id,
3068: last_update_date = sysdate,
3069: request_id = pa_cc_utils.g_request_id,
3070: program_application_id = pa_cc_utils.g_program_application_id,
3071: program_id = pa_cc_utils.g_program_id,
3072: program_update_date = sysdate
3073: WHERE rowid = in_RowId(i);
3074:
3075: log_message('6450: -- Rows updated = ' || to_char(sql%ROWCOUNT));
3102: PROCEDURE log_message( p_message IN VARCHAR2) IS
3103: BEGIN
3104:
3105: IF P_DEBUG_MODE = 'Y' THEN
3106: pa_cc_utils.log_message('log_message: ' || p_message);
3107: END IF;
3108:
3109: END log_message;
3110:
3114:
3115: PROCEDURE set_curr_function(p_function IN VARCHAR2) IS
3116: BEGIN
3117:
3118: pa_cc_utils.set_curr_function(p_function);
3119:
3120: END;
3121:
3122: -------------------------------------------------------------------------------
3125:
3126: PROCEDURE reset_curr_function IS
3127: BEGIN
3128:
3129: pa_cc_utils.reset_curr_function;
3130:
3131: END;
3132:
3133: