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;
295: l_pqh_worksheet_budget_set_rec pqh_worksheet_budget_sets%ROWTYPE;
296: l_budget_set_id pqh_budget_sets.budget_set_id%TYPE;
359: p_level => 2,
360: p_log_context => l_log_context
361: );
362:
363: -- create records in pqh_budget_details
364: populate_budget_details
365: (
366: p_worksheet_details_rec => l_pqh_worksheet_details_rec,
367: p_budget_version_id => g_budget_version_id,
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: )
797: IS
798: -- local variables and cursors
799:
803: l_version_unit3_value number;
804: l_budget_unit1_percent number;
805: l_budget_unit2_percent number;
806: l_budget_unit3_percent number;
807: l_object_version_number pqh_budget_details.object_version_number%TYPE;
808:
809: CURSOR l_object_version_number_cur IS
810: SELECT object_version_number
811: FROM pqh_budget_details
807: l_object_version_number pqh_budget_details.object_version_number%TYPE;
808:
809: CURSOR l_object_version_number_cur IS
810: SELECT object_version_number
811: FROM pqh_budget_details
812: WHERE budget_detail_id = p_worksheet_details_rec.budget_detail_id;
813:
814: CURSOR units_csr IS
815: SELECT sum(nvl(BUDGET_UNIT1_VALUE,0)) ,
857: CLOSE l_object_version_number_cur;
858:
859: hr_utility.set_location('Update API OVN : '||l_object_version_number, 8);
860:
861: pqh_budget_details_api.update_budget_detail
862: (
863: p_validate => false
864: ,p_budget_detail_id => p_worksheet_details_rec.budget_detail_id
865: ,p_organization_id => p_worksheet_details_rec.organization_id
888: -- for others i.e new rows call the insert API
889:
890: hr_utility.set_location('Create API in update mode : ', 9);
891:
892: pqh_budget_details_api.create_budget_detail
893: (
894: p_validate => false
895: ,p_budget_detail_id => p_budget_detail_id_o
896: ,p_organization_id => p_worksheet_details_rec.organization_id
917: ELSE -- i.e not update mode
918: -- call insert API
919: hr_utility.set_location('Create API in INSERT Mode : ', 10);
920:
921: pqh_budget_details_api.create_budget_detail
922: (
923: p_validate => false
924: ,p_budget_detail_id => p_budget_detail_id_o
925: ,p_organization_id => p_worksheet_details_rec.organization_id
965: --------------------------------------------------------------------------------------------------------------
966: PROCEDURE populate_budget_periods
967: (
968: p_worksheet_periods_rec IN pqh_worksheet_periods%ROWTYPE,
969: p_budget_detail_id IN pqh_budget_details.budget_detail_id%TYPE,
970: p_budget_period_id_o OUT NOCOPY pqh_budget_periods.budget_period_id%TYPE
971: )
972: IS
973: -- local variables and cursors
1198: SELECT *
1199: FROM pqh_worksheets
1200: WHERE worksheet_id = p_worksheet_id;
1201:
1202: CURSOR pqh_budget_details_cur (p_curr_budget_version_id IN pqh_budget_details.budget_version_id%TYPE ,
1203: p_worksheet_id IN pqh_worksheets.worksheet_id%TYPE ) IS
1204: SELECT *
1205: FROM pqh_budget_details
1206: WHERE budget_version_id = p_curr_budget_version_id
1201:
1202: CURSOR pqh_budget_details_cur (p_curr_budget_version_id IN pqh_budget_details.budget_version_id%TYPE ,
1203: p_worksheet_id IN pqh_worksheets.worksheet_id%TYPE ) IS
1204: SELECT *
1205: FROM pqh_budget_details
1206: WHERE budget_version_id = p_curr_budget_version_id
1207: AND budget_detail_id NOT IN ( SELECT budget_detail_id
1208: FROM pqh_worksheet_details
1209: WHERE worksheet_id = p_worksheet_id
1208: FROM pqh_worksheet_details
1209: WHERE worksheet_id = p_worksheet_id
1210: AND NVL(action_cd,'X') = 'B' ) ;
1211:
1212: CURSOR pqh_budget_periods_cur (p_budget_detail_id IN pqh_budget_details.budget_detail_id%TYPE) IS
1213: SELECT *
1214: FROM pqh_budget_periods
1215: WHERE budget_detail_id = p_budget_detail_id;
1216:
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;
1247: l_pqh_budget_sets_rec pqh_budget_sets%ROWTYPE;
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;
1247: l_pqh_budget_sets_rec pqh_budget_sets%ROWTYPE;
1248: l_budget_set_id pqh_budget_sets.budget_set_id%TYPE;
1268: LOOP -- loop 1
1269: FETCH pqh_worksheets_cur INTO l_pqh_worksheets_rec;
1270: EXIT WHEN pqh_worksheets_cur%NOTFOUND;
1271:
1272: -- open pqh_budget_details_cur
1273: OPEN pqh_budget_details_cur(p_curr_budget_version_id => l_curr_budget_version_id,
1274: p_worksheet_id => l_pqh_worksheets_rec.worksheet_id );
1275: LOOP -- loop 2
1276: FETCH pqh_budget_details_cur INTO l_pqh_budget_details_rec;
1269: FETCH pqh_worksheets_cur INTO l_pqh_worksheets_rec;
1270: EXIT WHEN pqh_worksheets_cur%NOTFOUND;
1271:
1272: -- open pqh_budget_details_cur
1273: OPEN pqh_budget_details_cur(p_curr_budget_version_id => l_curr_budget_version_id,
1274: p_worksheet_id => l_pqh_worksheets_rec.worksheet_id );
1275: LOOP -- loop 2
1276: FETCH pqh_budget_details_cur INTO l_pqh_budget_details_rec;
1277: EXIT WHEN pqh_budget_details_cur%NOTFOUND;
1272: -- open pqh_budget_details_cur
1273: OPEN pqh_budget_details_cur(p_curr_budget_version_id => l_curr_budget_version_id,
1274: p_worksheet_id => l_pqh_worksheets_rec.worksheet_id );
1275: LOOP -- loop 2
1276: FETCH pqh_budget_details_cur INTO l_pqh_budget_details_rec;
1277: EXIT WHEN pqh_budget_details_cur%NOTFOUND;
1278: -- create records in pqh_budget_details
1279: carry_forward_budget_details
1280: (
1273: OPEN pqh_budget_details_cur(p_curr_budget_version_id => l_curr_budget_version_id,
1274: p_worksheet_id => l_pqh_worksheets_rec.worksheet_id );
1275: LOOP -- loop 2
1276: FETCH pqh_budget_details_cur INTO l_pqh_budget_details_rec;
1277: EXIT WHEN pqh_budget_details_cur%NOTFOUND;
1278: -- create records in pqh_budget_details
1279: carry_forward_budget_details
1280: (
1281: p_pqh_budget_details_rec => l_pqh_budget_details_rec,
1274: p_worksheet_id => l_pqh_worksheets_rec.worksheet_id );
1275: LOOP -- loop 2
1276: FETCH pqh_budget_details_cur INTO l_pqh_budget_details_rec;
1277: EXIT WHEN pqh_budget_details_cur%NOTFOUND;
1278: -- create records in pqh_budget_details
1279: carry_forward_budget_details
1280: (
1281: p_pqh_budget_details_rec => l_pqh_budget_details_rec,
1282: p_budget_version_id => p_budget_version_id,
1277: EXIT WHEN pqh_budget_details_cur%NOTFOUND;
1278: -- create records in pqh_budget_details
1279: carry_forward_budget_details
1280: (
1281: p_pqh_budget_details_rec => l_pqh_budget_details_rec,
1282: p_budget_version_id => p_budget_version_id,
1283: p_budget_detail_id_o => l_budget_detail_id
1284: );
1285:
1283: p_budget_detail_id_o => l_budget_detail_id
1284: );
1285:
1286: -- open pqh_budget_periods_cur
1287: OPEN pqh_budget_periods_cur(p_budget_detail_id => l_pqh_budget_details_rec.budget_detail_id);
1288: LOOP -- loop 3
1289: FETCH pqh_budget_periods_cur INTO l_pqh_budget_periods_rec;
1290: EXIT WHEN pqh_budget_periods_cur%NOTFOUND;
1291: -- create records in pqh_budget_periods
1348: END LOOP; -- loop 3
1349: CLOSE pqh_budget_periods_cur;
1350:
1351: END LOOP; -- loop 2
1352: CLOSE pqh_budget_details_cur;
1353:
1354: END LOOP; -- loop 1
1355: CLOSE pqh_worksheets_cur;
1356:
1365: --------------------------------------------------------------------------------------------------------------
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
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
1375:
1373: IS
1374: -- local variables and cursors
1375:
1376: l_proc varchar2(72) := g_package||'carry_forward_budget_details';
1377: l_object_version_number pqh_budget_details.object_version_number%TYPE;
1378:
1379:
1380: BEGIN
1381:
1383:
1384: IF p_budget_version_id IS NOT NULL THEN
1385:
1386: -- call insert API
1387: pqh_budget_details_api.create_budget_detail
1388: (
1389: p_validate => false
1390: ,p_budget_detail_id => p_budget_detail_id_o
1391: ,p_organization_id => p_pqh_budget_details_rec.organization_id
1387: pqh_budget_details_api.create_budget_detail
1388: (
1389: p_validate => false
1390: ,p_budget_detail_id => p_budget_detail_id_o
1391: ,p_organization_id => p_pqh_budget_details_rec.organization_id
1392: ,p_job_id => p_pqh_budget_details_rec.job_id
1393: ,p_position_id => p_pqh_budget_details_rec.position_id
1394: ,p_grade_id => p_pqh_budget_details_rec.grade_id
1395: ,p_budget_version_id => p_budget_version_id
1388: (
1389: p_validate => false
1390: ,p_budget_detail_id => p_budget_detail_id_o
1391: ,p_organization_id => p_pqh_budget_details_rec.organization_id
1392: ,p_job_id => p_pqh_budget_details_rec.job_id
1393: ,p_position_id => p_pqh_budget_details_rec.position_id
1394: ,p_grade_id => p_pqh_budget_details_rec.grade_id
1395: ,p_budget_version_id => p_budget_version_id
1396: ,p_budget_unit1_percent => p_pqh_budget_details_rec.budget_unit1_percent
1389: p_validate => false
1390: ,p_budget_detail_id => p_budget_detail_id_o
1391: ,p_organization_id => p_pqh_budget_details_rec.organization_id
1392: ,p_job_id => p_pqh_budget_details_rec.job_id
1393: ,p_position_id => p_pqh_budget_details_rec.position_id
1394: ,p_grade_id => p_pqh_budget_details_rec.grade_id
1395: ,p_budget_version_id => p_budget_version_id
1396: ,p_budget_unit1_percent => p_pqh_budget_details_rec.budget_unit1_percent
1397: ,p_budget_unit1_value_type_cd => p_pqh_budget_details_rec.budget_unit1_value_type_cd
1390: ,p_budget_detail_id => p_budget_detail_id_o
1391: ,p_organization_id => p_pqh_budget_details_rec.organization_id
1392: ,p_job_id => p_pqh_budget_details_rec.job_id
1393: ,p_position_id => p_pqh_budget_details_rec.position_id
1394: ,p_grade_id => p_pqh_budget_details_rec.grade_id
1395: ,p_budget_version_id => p_budget_version_id
1396: ,p_budget_unit1_percent => p_pqh_budget_details_rec.budget_unit1_percent
1397: ,p_budget_unit1_value_type_cd => p_pqh_budget_details_rec.budget_unit1_value_type_cd
1398: ,p_budget_unit1_value => p_pqh_budget_details_rec.budget_unit1_value
1392: ,p_job_id => p_pqh_budget_details_rec.job_id
1393: ,p_position_id => p_pqh_budget_details_rec.position_id
1394: ,p_grade_id => p_pqh_budget_details_rec.grade_id
1395: ,p_budget_version_id => p_budget_version_id
1396: ,p_budget_unit1_percent => p_pqh_budget_details_rec.budget_unit1_percent
1397: ,p_budget_unit1_value_type_cd => p_pqh_budget_details_rec.budget_unit1_value_type_cd
1398: ,p_budget_unit1_value => p_pqh_budget_details_rec.budget_unit1_value
1399: ,p_budget_unit1_available => p_pqh_budget_details_rec.budget_unit1_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1393: ,p_position_id => p_pqh_budget_details_rec.position_id
1394: ,p_grade_id => p_pqh_budget_details_rec.grade_id
1395: ,p_budget_version_id => p_budget_version_id
1396: ,p_budget_unit1_percent => p_pqh_budget_details_rec.budget_unit1_percent
1397: ,p_budget_unit1_value_type_cd => p_pqh_budget_details_rec.budget_unit1_value_type_cd
1398: ,p_budget_unit1_value => p_pqh_budget_details_rec.budget_unit1_value
1399: ,p_budget_unit1_available => p_pqh_budget_details_rec.budget_unit1_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1394: ,p_grade_id => p_pqh_budget_details_rec.grade_id
1395: ,p_budget_version_id => p_budget_version_id
1396: ,p_budget_unit1_percent => p_pqh_budget_details_rec.budget_unit1_percent
1397: ,p_budget_unit1_value_type_cd => p_pqh_budget_details_rec.budget_unit1_value_type_cd
1398: ,p_budget_unit1_value => p_pqh_budget_details_rec.budget_unit1_value
1399: ,p_budget_unit1_available => p_pqh_budget_details_rec.budget_unit1_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1395: ,p_budget_version_id => p_budget_version_id
1396: ,p_budget_unit1_percent => p_pqh_budget_details_rec.budget_unit1_percent
1397: ,p_budget_unit1_value_type_cd => p_pqh_budget_details_rec.budget_unit1_value_type_cd
1398: ,p_budget_unit1_value => p_pqh_budget_details_rec.budget_unit1_value
1399: ,p_budget_unit1_available => p_pqh_budget_details_rec.budget_unit1_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1396: ,p_budget_unit1_percent => p_pqh_budget_details_rec.budget_unit1_percent
1397: ,p_budget_unit1_value_type_cd => p_pqh_budget_details_rec.budget_unit1_value_type_cd
1398: ,p_budget_unit1_value => p_pqh_budget_details_rec.budget_unit1_value
1399: ,p_budget_unit1_available => p_pqh_budget_details_rec.budget_unit1_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1404: ,p_budget_unit3_percent => p_pqh_budget_details_rec.budget_unit3_percent
1397: ,p_budget_unit1_value_type_cd => p_pqh_budget_details_rec.budget_unit1_value_type_cd
1398: ,p_budget_unit1_value => p_pqh_budget_details_rec.budget_unit1_value
1399: ,p_budget_unit1_available => p_pqh_budget_details_rec.budget_unit1_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1404: ,p_budget_unit3_percent => p_pqh_budget_details_rec.budget_unit3_percent
1405: ,p_budget_unit3_value_type_cd => p_pqh_budget_details_rec.budget_unit3_value_type_cd
1398: ,p_budget_unit1_value => p_pqh_budget_details_rec.budget_unit1_value
1399: ,p_budget_unit1_available => p_pqh_budget_details_rec.budget_unit1_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1404: ,p_budget_unit3_percent => p_pqh_budget_details_rec.budget_unit3_percent
1405: ,p_budget_unit3_value_type_cd => p_pqh_budget_details_rec.budget_unit3_value_type_cd
1406: ,p_budget_unit3_value => p_pqh_budget_details_rec.budget_unit3_value
1399: ,p_budget_unit1_available => p_pqh_budget_details_rec.budget_unit1_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1404: ,p_budget_unit3_percent => p_pqh_budget_details_rec.budget_unit3_percent
1405: ,p_budget_unit3_value_type_cd => p_pqh_budget_details_rec.budget_unit3_value_type_cd
1406: ,p_budget_unit3_value => p_pqh_budget_details_rec.budget_unit3_value
1407: ,p_budget_unit3_available => p_pqh_budget_details_rec.budget_unit3_available
1400: ,p_budget_unit2_percent => p_pqh_budget_details_rec.budget_unit2_percent
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1404: ,p_budget_unit3_percent => p_pqh_budget_details_rec.budget_unit3_percent
1405: ,p_budget_unit3_value_type_cd => p_pqh_budget_details_rec.budget_unit3_value_type_cd
1406: ,p_budget_unit3_value => p_pqh_budget_details_rec.budget_unit3_value
1407: ,p_budget_unit3_available => p_pqh_budget_details_rec.budget_unit3_available
1408: ,p_object_version_number => l_object_version_number
1401: ,p_budget_unit2_value_type_cd => p_pqh_budget_details_rec.budget_unit2_value_type_cd
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1404: ,p_budget_unit3_percent => p_pqh_budget_details_rec.budget_unit3_percent
1405: ,p_budget_unit3_value_type_cd => p_pqh_budget_details_rec.budget_unit3_value_type_cd
1406: ,p_budget_unit3_value => p_pqh_budget_details_rec.budget_unit3_value
1407: ,p_budget_unit3_available => p_pqh_budget_details_rec.budget_unit3_available
1408: ,p_object_version_number => l_object_version_number
1409: );
1402: ,p_budget_unit2_value => p_pqh_budget_details_rec.budget_unit2_value
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1404: ,p_budget_unit3_percent => p_pqh_budget_details_rec.budget_unit3_percent
1405: ,p_budget_unit3_value_type_cd => p_pqh_budget_details_rec.budget_unit3_value_type_cd
1406: ,p_budget_unit3_value => p_pqh_budget_details_rec.budget_unit3_value
1407: ,p_budget_unit3_available => p_pqh_budget_details_rec.budget_unit3_available
1408: ,p_object_version_number => l_object_version_number
1409: );
1410:
1403: ,p_budget_unit2_available => p_pqh_budget_details_rec.budget_unit2_available
1404: ,p_budget_unit3_percent => p_pqh_budget_details_rec.budget_unit3_percent
1405: ,p_budget_unit3_value_type_cd => p_pqh_budget_details_rec.budget_unit3_value_type_cd
1406: ,p_budget_unit3_value => p_pqh_budget_details_rec.budget_unit3_value
1407: ,p_budget_unit3_available => p_pqh_budget_details_rec.budget_unit3_available
1408: ,p_object_version_number => l_object_version_number
1409: );
1410:
1411:
1423: --------------------------------------------------------------------------------------------------------------
1424: PROCEDURE carry_forward_budget_periods
1425: (
1426: p_pqh_budget_periods_rec IN pqh_budget_periods%ROWTYPE,
1427: p_budget_detail_id IN pqh_budget_details.budget_detail_id%TYPE,
1428: p_budget_period_id_o OUT NOCOPY pqh_budget_periods.budget_period_id%TYPE
1429: )
1430: IS
1431: -- local variables and cursors
1635: AND wks.worksheet_id = p_worksheet_id;
1636:
1637: CURSOR budget_set_id_cur IS
1638: SELECT bst.budget_set_id
1639: FROM pqh_budget_sets bst, pqh_budget_periods bpr, pqh_budget_details bdt,
1640: pqh_worksheet_details wdt , pqh_worksheets wks
1641: WHERE bst.budget_period_id = bpr.budget_period_id
1642: AND bpr.budget_detail_id = wdt.budget_detail_id
1643: AND wks.worksheet_id = wdt.worksheet_id
1724: CLOSE budget_period_id_cur;
1725:
1726:
1727: /*
1728: we update pqh_budget_details and so don't delete due to foreign key constraints
1729:
1730: DELETE FROM pqh_budget_details
1731: WHERE budget_detail_id IN (
1732: SELECT wdt.budget_detail_id
1726:
1727: /*
1728: we update pqh_budget_details and so don't delete due to foreign key constraints
1729:
1730: DELETE FROM pqh_budget_details
1731: WHERE budget_detail_id IN (
1732: SELECT wdt.budget_detail_id
1733: FROM pqh_worksheet_details wdt , pqh_worksheets wks
1734: WHERE wks.worksheet_id = wdt.worksheet_id
1765: SELECT *
1766: FROM pqh_worksheets
1767: WHERE worksheet_id = p_worksheet_id;
1768:
1769: CURSOR pqh_budget_details_cur(p_budget_version_id IN pqh_worksheets.budget_version_id%TYPE) is
1770: SELECT count(*)
1771: FROM pqh_budget_details
1772: WHERE budget_version_id = p_budget_version_id;
1773:
1767: WHERE worksheet_id = p_worksheet_id;
1768:
1769: CURSOR pqh_budget_details_cur(p_budget_version_id IN pqh_worksheets.budget_version_id%TYPE) is
1770: SELECT count(*)
1771: FROM pqh_budget_details
1772: WHERE budget_version_id = p_budget_version_id;
1773:
1774:
1775: l_pqh_worksheets_rec pqh_worksheets%ROWTYPE;
1804: -- first version no carry forward i.e NEW or
1805: -- existing version with no carry forward i.e W
1806:
1807: /*
1808: since this is the first version, there should be no records in pqh_budget_details with the
1809: current budget_version_id.
1810: */
1811: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1812: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1807: /*
1808: since this is the first version, there should be no records in pqh_budget_details with the
1809: current budget_version_id.
1810: */
1811: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1812: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1813: CLOSE pqh_budget_details_cur;
1814:
1815: IF l_budget_details_count <> 0 THEN
1808: since this is the first version, there should be no records in pqh_budget_details with the
1809: current budget_version_id.
1810: */
1811: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1812: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1813: CLOSE pqh_budget_details_cur;
1814:
1815: IF l_budget_details_count <> 0 THEN
1816:
1809: current budget_version_id.
1810: */
1811: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1812: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1813: CLOSE pqh_budget_details_cur;
1814:
1815: IF l_budget_details_count <> 0 THEN
1816:
1817: /*
1841: /*
1842: since this is new override , there must exist atleast one record in budget_detail
1843: for the current version.
1844: */
1845: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1846: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1847: CLOSE pqh_budget_details_cur;
1848:
1849: IF l_budget_details_count = 0 THEN
1842: since this is new override , there must exist atleast one record in budget_detail
1843: for the current version.
1844: */
1845: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1846: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1847: CLOSE pqh_budget_details_cur;
1848:
1849: IF l_budget_details_count = 0 THEN
1850:
1843: for the current version.
1844: */
1845: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1846: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1847: CLOSE pqh_budget_details_cur;
1848:
1849: IF l_budget_details_count = 0 THEN
1850:
1851: /*
1868:
1869: /*
1870: for carry forward , there must be an existing version in budgets table
1871: */
1872: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1873: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1874: CLOSE pqh_budget_details_cur;
1875:
1876: IF l_budget_details_count = 0 THEN
1869: /*
1870: for carry forward , there must be an existing version in budgets table
1871: */
1872: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1873: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1874: CLOSE pqh_budget_details_cur;
1875:
1876: IF l_budget_details_count = 0 THEN
1877:
1870: for carry forward , there must be an existing version in budgets table
1871: */
1872: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1873: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1874: CLOSE pqh_budget_details_cur;
1875:
1876: IF l_budget_details_count = 0 THEN
1877:
1878: /*
1896: /*
1897: Check if record exists in budget_details for this mode
1898: */
1899:
1900: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1901: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1902: CLOSE pqh_budget_details_cur;
1903:
1904: IF l_budget_details_count = 0 THEN
1897: Check if record exists in budget_details for this mode
1898: */
1899:
1900: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1901: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1902: CLOSE pqh_budget_details_cur;
1903:
1904: IF l_budget_details_count = 0 THEN
1905:
1898: */
1899:
1900: OPEN pqh_budget_details_cur(p_budget_version_id => l_pqh_worksheets_rec.budget_version_id);
1901: FETCH pqh_budget_details_cur INTO l_budget_details_count;
1902: CLOSE pqh_budget_details_cur;
1903:
1904: IF l_budget_details_count = 0 THEN
1905:
1906: /*
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
2652: pqh_worksheet_details as the user may not have clicked the populate all button in the form in
2653: which case all budget records may not be there in pqh_worksheet_details table
2654: */
2655:
2657: CURSOR units_csr IS
2658: SELECT SUM(nvl(BUDGET_UNIT1_VALUE,0)) ,
2659: SUM(nvl(BUDGET_UNIT2_VALUE,0)) ,
2660: SUM(nvl(BUDGET_UNIT3_VALUE,0))
2661: FROM pqh_budget_details
2662: WHERE budget_version_id = p_budget_version_id;
2663:
2664: -- cursor for OVN for the current budget version record
2665: CURSOR csr_budget_version IS
2673: FROM pqh_worksheets
2674: WHERE worksheet_id = p_worksheet_id;
2675:
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;
2674: WHERE worksheet_id = p_worksheet_id;
2675:
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;
2675:
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: