336: from dual;
337:
338: BEGIN
339:
340: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
341: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
342: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
343: 'Entering fpa_project_pvt.Verify_Budget_Versions');
344: END IF;
337:
338: BEGIN
339:
340: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
341: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
342: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
343: 'Entering fpa_project_pvt.Verify_Budget_Versions');
344: END IF;
345:
343: 'Entering fpa_project_pvt.Verify_Budget_Versions');
344: END IF;
345:
346:
347: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
348: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
349: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
350: 'Parameters are Scenario Id: ' || p_scenario_id ||
351: ' Project Id: ' || p_project_id);
344: END IF;
345:
346:
347: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
348: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
349: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
350: 'Parameters are Scenario Id: ' || p_scenario_id ||
351: ' Project Id: ' || p_project_id);
352: END IF;
355: We need to get all projects under the given scenario.
356: We place all projecs into the TABLE type. **/
357: if p_project_id is null then
358:
359: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
360: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
361: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
362: 'About to query and fetch all projects from the scenario.');
363: end if;
356: We place all projecs into the TABLE type. **/
357: if p_project_id is null then
358:
359: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
360: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
361: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
362: 'About to query and fetch all projects from the scenario.');
363: end if;
364:
368: exit when all_projs%NOTFOUND;
369: end loop;
370: close all_projs;
371:
372: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
373: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
374: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
375: 'Done fetching all projects from the scenario.');
376: end if;
369: end loop;
370: close all_projs;
371:
372: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
373: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
374: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
375: 'Done fetching all projects from the scenario.');
376: end if;
377:
378: /** If p_project_id is not null then we are querying an individual project.
379: We plase the value of p_project_id in the TABLE type. **/
380: else
381:
382: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
383: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
384: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
385: 'Fetching single project: ' || p_project_id);
386: end if;
379: We plase the value of p_project_id in the TABLE type. **/
380: else
381:
382: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
383: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
384: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
385: 'Fetching single project: ' || p_project_id);
386: end if;
387:
388: open one_proj;
389: fetch one_proj BULK COLLECT into new_projs;
390: close one_proj;
391:
392: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
393: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
394: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
395: 'Done fetching single project: ' || p_project_id);
396: end if;
389: fetch one_proj BULK COLLECT into new_projs;
390: close one_proj;
391:
392: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
393: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
394: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions.begin',
395: 'Done fetching single project: ' || p_project_id);
396: end if;
397:
404: in Portfolio Analysis.
405: **/
406: for i in new_projs.first..new_projs.last loop
407:
408: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
409: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
410: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions',
411: 'Querying Cost and Benefit Plan IDs.');
412: END IF;
405: **/
406: for i in new_projs.first..new_projs.last loop
407:
408: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
409: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
410: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions',
411: 'Querying Cost and Benefit Plan IDs.');
412: END IF;
413:
427: AND P.PROJECT_ID = new_projs(i).project_id;
428: -- AND P.PROJECT_ID = P_PROJECT_ID;
429:
430:
431: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
432: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
433: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions',
434: 'Querying Validation Lines to get latest pulled Plan Version IDs.');
435: END IF;
428: -- AND P.PROJECT_ID = P_PROJECT_ID;
429:
430:
431: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
432: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
433: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions',
434: 'Querying Validation Lines to get latest pulled Plan Version IDs.');
435: END IF;
436:
459: AND S.OBJECT_ID = P_SCENARIO_ID
460: AND P.OBJECT_ID = new_projs(i).project_id;
461: -- AND P.OBJECT_ID = P_PROJECT_ID;
462:
463: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
464: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
465: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions',
466: 'After queries values were ' ||
467: ' Cost version id in PJP: ' || l_cost_version_id ||
460: AND P.OBJECT_ID = new_projs(i).project_id;
461: -- AND P.OBJECT_ID = P_PROJECT_ID;
462:
463: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
464: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
465: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions',
466: 'After queries values were ' ||
467: ' Cost version id in PJP: ' || l_cost_version_id ||
468: ' Cost version id in PJT: ' || l_new_cost_version_id ||
485: /** If IDs are identical and we have verified all projects under the scenario
486: contain the latest data, then we return a TRUE fla
487: **/
488: else
489: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
490: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
491: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions',
492: 'Project ID is null. The current value is: ' || new_projs(i).project_id ||
493: ' and the last project is: ' || new_projs(new_projs.last).project_id);
486: contain the latest data, then we return a TRUE fla
487: **/
488: else
489: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
490: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
491: 'fpa.sql.fpa_project_pvt.Verify_Budget_Versions',
492: 'Project ID is null. The current value is: ' || new_projs(i).project_id ||
493: ' and the last project is: ' || new_projs(new_projs.last).project_id);
494: END IF;
557: dbms_aw.execute('UPDATE');
558:
559: EXCEPTION
560: WHEN OTHERS then
561: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
562: FND_LOG.String(
563: FND_LOG.LEVEL_PROCEDURE,
564: 'procedure save_project',
565: 'exception: '||sqlerrm||p_project_id||','||l_class_code_id||','||l_portfolio_id||','||l_current_pc_id);
558:
559: EXCEPTION
560: WHEN OTHERS then
561: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
562: FND_LOG.String(
563: FND_LOG.LEVEL_PROCEDURE,
564: 'procedure save_project',
565: 'exception: '||sqlerrm||p_project_id||','||l_class_code_id||','||l_portfolio_id||','||l_current_pc_id);
566: end if;
559: EXCEPTION
560: WHEN OTHERS then
561: if (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
562: FND_LOG.String(
563: FND_LOG.LEVEL_PROCEDURE,
564: 'procedure save_project',
565: 'exception: '||sqlerrm||p_project_id||','||l_class_code_id||','||l_portfolio_id||','||l_current_pc_id);
566: end if;
567: raise;
756:
757: SELECT PLANNING_CYCLE INTO l_pc_id
758: FROM FPA_AW_SCES_V WHERE SCENARIO = p_scenario_id;
759:
760: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
761: FND_LOG.STRING
762: (
763: FND_LOG.LEVEL_PROCEDURE,
764: 'FPA.SQL.FPA_PROCESS_PVT.Validate',
757: SELECT PLANNING_CYCLE INTO l_pc_id
758: FROM FPA_AW_SCES_V WHERE SCENARIO = p_scenario_id;
759:
760: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
761: FND_LOG.STRING
762: (
763: FND_LOG.LEVEL_PROCEDURE,
764: 'FPA.SQL.FPA_PROCESS_PVT.Validate',
765: 'Ending FPA_PROCESS_PVT.Validate.call l_pc_id: '||l_pc_id
759:
760: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
761: FND_LOG.STRING
762: (
763: FND_LOG.LEVEL_PROCEDURE,
764: 'FPA.SQL.FPA_PROCESS_PVT.Validate',
765: 'Ending FPA_PROCESS_PVT.Validate.call l_pc_id: '||l_pc_id
766: );
767: END IF;
778: x_msg_count => x_msg_count,
779: x_msg_data => x_msg_data);
780:
781:
782: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
783: FND_LOG.STRING
784: (
785: FND_LOG.LEVEL_PROCEDURE,
786: 'FPA.SQL.FPA_PROCESS_PVT.Validate',
779: x_msg_data => x_msg_data);
780:
781:
782: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
783: FND_LOG.STRING
784: (
785: FND_LOG.LEVEL_PROCEDURE,
786: 'FPA.SQL.FPA_PROCESS_PVT.Validate',
787: 'Ending FPA_PROCESS_PVT.Validate.end'
781:
782: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
783: FND_LOG.STRING
784: (
785: FND_LOG.LEVEL_PROCEDURE,
786: 'FPA.SQL.FPA_PROCESS_PVT.Validate',
787: 'Ending FPA_PROCESS_PVT.Validate.end'
788: );
789: END IF;
805: x_return_status => x_return_status,
806: x_msg_count => x_msg_count,
807: x_msg_data => x_msg_data);
808:
809: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
810: FND_LOG.STRING
811: (
812: FND_LOG.LEVEL_PROCEDURE,
813: 'fpa.sql.Fpa_Validation_Process_Pvt.Validate_Budget_Versions',
806: x_msg_count => x_msg_count,
807: x_msg_data => x_msg_data);
808:
809: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
810: FND_LOG.STRING
811: (
812: FND_LOG.LEVEL_PROCEDURE,
813: 'fpa.sql.Fpa_Validation_Process_Pvt.Validate_Budget_Versions',
814: 'End Fpa_Validation_Process_Pvt.Validate_Budget_Versions.end'
808:
809: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
810: FND_LOG.STRING
811: (
812: FND_LOG.LEVEL_PROCEDURE,
813: 'fpa.sql.Fpa_Validation_Process_Pvt.Validate_Budget_Versions',
814: 'End Fpa_Validation_Process_Pvt.Validate_Budget_Versions.end'
815: );
816: END IF;
1028: l_msg_count NUMBER;
1029:
1030: BEGIN
1031:
1032: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1033: FND_LOG.String
1034: (
1035: FND_LOG.LEVEL_PROCEDURE,
1036: 'fpa.sql.FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS.begin',
1029:
1030: BEGIN
1031:
1032: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1033: FND_LOG.String
1034: (
1035: FND_LOG.LEVEL_PROCEDURE,
1036: 'fpa.sql.FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS.begin',
1037: 'Entering FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS'
1031:
1032: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1033: FND_LOG.String
1034: (
1035: FND_LOG.LEVEL_PROCEDURE,
1036: 'fpa.sql.FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS.begin',
1037: 'Entering FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS'
1038: );
1039: END IF;
1088: IF p_commit = FND_API.G_TRUE then
1089: COMMIT;
1090: END IF;
1091:
1092: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1093: FND_LOG.String
1094: (
1095: FND_LOG.LEVEL_PROCEDURE,
1096: 'fpa.sql.FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS.end',
1089: COMMIT;
1090: END IF;
1091:
1092: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1093: FND_LOG.String
1094: (
1095: FND_LOG.LEVEL_PROCEDURE,
1096: 'fpa.sql.FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS.end',
1097: 'Entering FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS'
1091:
1092: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1093: FND_LOG.String
1094: (
1095: FND_LOG.LEVEL_PROCEDURE,
1096: 'fpa.sql.FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS.end',
1097: 'Entering FPA_PROJECT_PVT.UPDATE_PROJ_FUNDING_STATUS'
1098: );
1099: END IF;