4: -- | Private Global Definitions |
5: -- ----------------------------------------------------------------------------
6: --
7: g_package varchar2(33) := ' pqh_apply_budget.'; -- Global package name
8: g_budget_version_id pqh_budget_versions.budget_version_id%TYPE;
9: g_worksheet_mode_cd pqh_worksheets.worksheet_mode_cd%TYPE;
10: g_budget_id pqh_worksheets.budget_id%TYPE;
11:
12: g_budgeted_entity_cd pqh_budgets.budgeted_entity_cd%TYPE;
76: --------------------------------------------------------------------------------------------------------------
77: PROCEDURE apply_budget
78: (
79: p_worksheet_id IN pqh_worksheets.worksheet_id%TYPE,
80: p_budget_version_id OUT NOCOPY pqh_budget_versions.budget_version_id%TYPE
81: )
82: IS
83: -- local variables and cursors
84:
279: WHERE worksheet_bdgt_elmnt_id = p_worksheet_bdgt_elmnt_id;
280:
281: CURSOR current_version_cur (p_worksheet_id IN pqh_worksheets.worksheet_id%TYPE ) IS
282: SELECT bvr.budget_version_id
283: FROM pqh_budget_versions bvr, pqh_worksheets wks
284: WHERE bvr.budget_id = wks.budget_id
285: AND bvr.version_number = wks.version_number
286: AND wks.worksheet_id = p_worksheet_id;
287:
286: AND wks.worksheet_id = p_worksheet_id;
287:
288: l_proc varchar2(72) := g_package||'apply_new_budget';
289: l_pqh_worksheets_rec pqh_worksheets%ROWTYPE;
290: l_budget_version_id pqh_budget_versions.budget_version_id%TYPE;
291: l_pqh_worksheet_details_rec pqh_worksheet_details%ROWTYPE;
292: l_budget_detail_id pqh_budget_details.budget_detail_id%TYPE;
293: l_pqh_worksheet_periods_rec pqh_worksheet_periods%ROWTYPE;
294: l_budget_period_id pqh_budget_periods.budget_period_id%TYPE;
297: l_pqh_worksheet_bdgt_elmnt_rec pqh_worksheet_bdgt_elmnts%ROWTYPE;
298: l_budget_element_id pqh_budget_elements.budget_element_id%TYPE;
299: l_pqh_worksheet_fund_srcs_rec pqh_worksheet_fund_srcs%ROWTYPE;
300: l_budget_fund_src_id pqh_budget_fund_srcs.budget_fund_src_id%TYPE;
301: l_curr_budget_version_id pqh_budget_versions.budget_version_id%TYPE;
302: l_log_context pqh_process_log.log_context%TYPE;
303:
304: BEGIN
305:
309: LOOP -- loop 1
310: FETCH pqh_worksheets_cur INTO l_pqh_worksheets_rec;
311: EXIT WHEN pqh_worksheets_cur%NOTFOUND;
312: IF p_mode = 'I' THEN
313: -- create records in pqh_budget_versions
314: populate_budget_versions
315: (
316: p_worksheets_rec => l_pqh_worksheets_rec,
317: p_budget_id => l_pqh_worksheets_rec.budget_id,
322: -- populate the global variable with the version_id
323: g_budget_version_id := l_budget_version_id;
324:
325: ELSE
326: -- no new record in the pqh_budget_versions as this is update mode
327: -- get the current version_id
328: hr_utility.set_location('Called Apply Budget in Update Mode: '||p_mode, 6);
329: OPEN current_version_cur(p_worksheet_id => p_worksheet_id);
330: FETCH current_version_cur INTO l_curr_budget_version_id;
615: (
616: p_worksheets_rec IN pqh_worksheets%ROWTYPE,
617: p_budget_id IN pqh_budgets.budget_id%TYPE,
618: p_worksheet_mode_cd IN pqh_worksheets.worksheet_mode_cd%TYPE,
619: p_budget_version_id_o OUT NOCOPY pqh_budget_versions.budget_version_id%TYPE
620: )
621: IS
622: -- local variables and cursors
623:
622: -- local variables and cursors
623:
624: CURSOR version_number_cur IS
625: SELECT NVL(max(version_number),0)
626: FROM pqh_budget_versions
627: WHERE budget_id = p_budget_id;
628:
629: CURSOR budget_version_cur(p_curr_version_number IN number) IS
630: SELECT *
627: WHERE budget_id = p_budget_id;
628:
629: CURSOR budget_version_cur(p_curr_version_number IN number) IS
630: SELECT *
631: FROM pqh_budget_versions
632: WHERE budget_id = p_budget_id
633: AND version_number = p_curr_version_number;
634:
635: -- cursor for unit1_value,2,3
642: AND nvl(action_cd,'X') = 'B' ;
643:
644:
645: l_proc varchar2(72) := g_package||'populate_budget_versions';
646: l_object_version_number pqh_budget_versions.object_version_number%TYPE;
647: l_version_number pqh_budget_versions.version_number%TYPE;
648: l_curr_version_number pqh_budget_versions.version_number%TYPE;
649: l_max_version_number pqh_budget_versions.version_number%TYPE;
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
643:
644:
645: l_proc varchar2(72) := g_package||'populate_budget_versions';
646: l_object_version_number pqh_budget_versions.object_version_number%TYPE;
647: l_version_number pqh_budget_versions.version_number%TYPE;
648: l_curr_version_number pqh_budget_versions.version_number%TYPE;
649: l_max_version_number pqh_budget_versions.version_number%TYPE;
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
644:
645: l_proc varchar2(72) := g_package||'populate_budget_versions';
646: l_object_version_number pqh_budget_versions.object_version_number%TYPE;
647: l_version_number pqh_budget_versions.version_number%TYPE;
648: l_curr_version_number pqh_budget_versions.version_number%TYPE;
649: l_max_version_number pqh_budget_versions.version_number%TYPE;
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
645: l_proc varchar2(72) := g_package||'populate_budget_versions';
646: l_object_version_number pqh_budget_versions.object_version_number%TYPE;
647: l_version_number pqh_budget_versions.version_number%TYPE;
648: l_curr_version_number pqh_budget_versions.version_number%TYPE;
649: l_max_version_number pqh_budget_versions.version_number%TYPE;
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
653: l_budget_unit2_value pqh_budget_versions.budget_unit2_value%TYPE;
646: l_object_version_number pqh_budget_versions.object_version_number%TYPE;
647: l_version_number pqh_budget_versions.version_number%TYPE;
648: l_curr_version_number pqh_budget_versions.version_number%TYPE;
649: l_max_version_number pqh_budget_versions.version_number%TYPE;
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
653: l_budget_unit2_value pqh_budget_versions.budget_unit2_value%TYPE;
654: l_budget_unit2_available pqh_budget_versions.budget_unit2_available%TYPE ;
647: l_version_number pqh_budget_versions.version_number%TYPE;
648: l_curr_version_number pqh_budget_versions.version_number%TYPE;
649: l_max_version_number pqh_budget_versions.version_number%TYPE;
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
653: l_budget_unit2_value pqh_budget_versions.budget_unit2_value%TYPE;
654: l_budget_unit2_available pqh_budget_versions.budget_unit2_available%TYPE ;
655: l_budget_unit3_value pqh_budget_versions.budget_unit3_value%TYPE;
648: l_curr_version_number pqh_budget_versions.version_number%TYPE;
649: l_max_version_number pqh_budget_versions.version_number%TYPE;
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
653: l_budget_unit2_value pqh_budget_versions.budget_unit2_value%TYPE;
654: l_budget_unit2_available pqh_budget_versions.budget_unit2_available%TYPE ;
655: l_budget_unit3_value pqh_budget_versions.budget_unit3_value%TYPE;
656: l_budget_unit3_available pqh_budget_versions.budget_unit3_available%TYPE ;
649: l_max_version_number pqh_budget_versions.version_number%TYPE;
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
653: l_budget_unit2_value pqh_budget_versions.budget_unit2_value%TYPE;
654: l_budget_unit2_available pqh_budget_versions.budget_unit2_available%TYPE ;
655: l_budget_unit3_value pqh_budget_versions.budget_unit3_value%TYPE;
656: l_budget_unit3_available pqh_budget_versions.budget_unit3_available%TYPE ;
657:
650: l_budget_versions_rec pqh_budget_versions%ROWTYPE;
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
653: l_budget_unit2_value pqh_budget_versions.budget_unit2_value%TYPE;
654: l_budget_unit2_available pqh_budget_versions.budget_unit2_available%TYPE ;
655: l_budget_unit3_value pqh_budget_versions.budget_unit3_value%TYPE;
656: l_budget_unit3_available pqh_budget_versions.budget_unit3_available%TYPE ;
657:
658:
651: l_budget_unit1_value pqh_budget_versions.budget_unit1_value%TYPE;
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
653: l_budget_unit2_value pqh_budget_versions.budget_unit2_value%TYPE;
654: l_budget_unit2_available pqh_budget_versions.budget_unit2_available%TYPE ;
655: l_budget_unit3_value pqh_budget_versions.budget_unit3_value%TYPE;
656: l_budget_unit3_available pqh_budget_versions.budget_unit3_available%TYPE ;
657:
658:
659: BEGIN
652: l_budget_unit1_available pqh_budget_versions.budget_unit1_available%TYPE ;
653: l_budget_unit2_value pqh_budget_versions.budget_unit2_value%TYPE;
654: l_budget_unit2_available pqh_budget_versions.budget_unit2_available%TYPE ;
655: l_budget_unit3_value pqh_budget_versions.budget_unit3_value%TYPE;
656: l_budget_unit3_available pqh_budget_versions.budget_unit3_available%TYPE ;
657:
658:
659: BEGIN
660:
684: -- update the same version
685: -- call update API here
686: l_version_number := l_curr_version_number;
687:
688: pqh_budget_versions_api.update_budget_version
689: (
690: p_validate => false
691: ,p_budget_version_id => l_budget_versions_rec.budget_version_id
692: ,p_budget_id => l_budget_versions_rec.budget_id
713: -- budget form.
714: -- call update API here
715: l_version_number := l_curr_version_number;
716:
717: pqh_budget_versions_api.update_budget_version
718: (
719: p_validate => false
720: ,p_budget_version_id => l_budget_versions_rec.budget_version_id
721: ,p_budget_id => l_budget_versions_rec.budget_id
742: -- modes new_override and carry_forward , create new version record
743: -- call insert API
744: l_version_number := l_max_version_number + 1;
745:
746: pqh_budget_versions_api.create_budget_version
747: (
748: p_validate => false
749: ,p_budget_version_id => p_budget_version_id_o
750: ,p_budget_id => p_budget_id
788:
789: PROCEDURE populate_budget_details
790: (
791: p_worksheet_details_rec IN pqh_worksheet_details%ROWTYPE,
792: p_budget_version_id IN pqh_budget_versions.budget_version_id%TYPE,
793: p_worksheet_id IN pqh_worksheets.worksheet_id%type,
794: p_worksheet_mode_cd IN pqh_worksheets.worksheet_mode_cd%TYPE,
795: p_budget_detail_id_o OUT NOCOPY pqh_budget_details.budget_detail_id%TYPE
796: )
1188: --------------------------------------------------------------------------------------------------------------
1189: PROCEDURE carry_forward_budget
1190: (
1191: p_worksheet_id IN pqh_worksheets.worksheet_id%TYPE,
1192: p_budget_version_id IN pqh_budget_versions.budget_version_id%TYPE
1193: )
1194: IS
1195: -- local variables and cursors
1196:
1230: WHERE budget_element_id = p_budget_element_id;
1231:
1232: CURSOR current_version_cur (p_worksheet_id IN pqh_worksheets.worksheet_id%TYPE ) IS
1233: SELECT bvr.budget_version_id
1234: FROM pqh_budget_versions bvr, pqh_worksheets wks
1235: WHERE bvr.budget_id = wks.budget_id
1236: AND bvr.version_number = wks.version_number
1237: AND wks.worksheet_id = p_worksheet_id;
1238:
1238:
1239:
1240: l_proc varchar2(72) := g_package||'carry_forward_budget';
1241: l_pqh_worksheets_rec pqh_worksheets%ROWTYPE;
1242: l_budget_version_id pqh_budget_versions.budget_version_id%TYPE;
1243: l_pqh_budget_details_rec pqh_budget_details%ROWTYPE;
1244: l_budget_detail_id pqh_budget_details.budget_detail_id%TYPE;
1245: l_pqh_budget_periods_rec pqh_budget_periods%ROWTYPE;
1246: l_budget_period_id pqh_budget_periods.budget_period_id%TYPE;
1249: l_pqh_budget_elements_rec pqh_budget_elements%ROWTYPE;
1250: l_budget_element_id pqh_budget_elements.budget_element_id%TYPE;
1251: l_pqh_budget_fund_srcs_rec pqh_budget_fund_srcs%ROWTYPE;
1252: l_budget_fund_src_id pqh_budget_fund_srcs.budget_fund_src_id%TYPE;
1253: l_curr_budget_version_id pqh_budget_versions.budget_version_id%TYPE;
1254:
1255: BEGIN
1256:
1257: hr_utility.set_location('Entering: '||l_proc, 5);
1366:
1367: PROCEDURE carry_forward_budget_details
1368: (
1369: p_pqh_budget_details_rec IN pqh_budget_details%ROWTYPE,
1370: p_budget_version_id IN pqh_budget_versions.budget_version_id%TYPE,
1371: p_budget_detail_id_o OUT NOCOPY pqh_budget_details.budget_detail_id%TYPE
1372: )
1373: IS
1374: -- local variables and cursors
2405: l_return varchar2(30) := 'SUCCESS' ;
2406: l_worksheet_id pqh_worksheet_details.worksheet_id%TYPE;
2407: l_budget_id pqh_budgets.budget_id%TYPE;
2408: l_budget_rec pqh_budgets%ROWTYPE;
2409: l_budget_version_id pqh_budget_versions.budget_version_id%TYPE;
2410: l_gl_validation varchar2(30);
2411: l_req number(9);
2412: l_transaction_category_id number;
2413: l_transaction_categories_rec pqh_transaction_categories%ROWTYPE;
2643:
2644: --------------------------------------------------------------------------------------------------------------
2645: PROCEDURE comp_bgt_ver_unit_val
2646: (
2647: p_budget_version_id IN pqh_budget_versions.budget_version_id%TYPE
2648: ) IS
2649: /*
2650: This procedure will be called in the case of Correct the same version i.e worksheet_mode_cd = 'O'
2651: In this case will will compute the total of all unit values from pqh_budget_details instead of
2663:
2664: -- cursor for OVN for the current budget version record
2665: CURSOR csr_budget_version IS
2666: SELECT *
2667: FROM pqh_budget_versions
2668: WHERE budget_version_id = p_budget_version_id;
2669:
2670: -- worksheet cursor is
2671: CURSOR pqh_worksheets_cur(p_worksheet_id IN pqh_worksheets.worksheet_id%TYPE) IS
2676: l_proc varchar2(72) := g_package||'comp_bgt_ver_unit_val';
2677: l_budget_unit1_value pqh_budget_details.budget_unit1_value%TYPE;
2678: l_budget_unit2_value pqh_budget_details.budget_unit2_value%TYPE;
2679: l_budget_unit3_value pqh_budget_details.budget_unit3_value%TYPE;
2680: l_pqh_budget_version_rec pqh_budget_versions%ROWTYPE;
2681: l_object_version_number pqh_budget_versions.object_version_number%TYPE;
2682: l_pqh_worksheets_rec pqh_worksheets%ROWTYPE;
2683:
2684:
2677: l_budget_unit1_value pqh_budget_details.budget_unit1_value%TYPE;
2678: l_budget_unit2_value pqh_budget_details.budget_unit2_value%TYPE;
2679: l_budget_unit3_value pqh_budget_details.budget_unit3_value%TYPE;
2680: l_pqh_budget_version_rec pqh_budget_versions%ROWTYPE;
2681: l_object_version_number pqh_budget_versions.object_version_number%TYPE;
2682: l_pqh_worksheets_rec pqh_worksheets%ROWTYPE;
2683:
2684:
2685: BEGIN
2703: CLOSE pqh_worksheets_cur;
2704:
2705: -- call the update API
2706:
2707: pqh_budget_versions_api.update_budget_version
2708: (
2709: p_validate => false
2710: ,p_budget_version_id => l_pqh_budget_version_rec.budget_version_id
2711: ,p_budget_id => l_pqh_budget_version_rec.budget_id