1: PACKAGE body PA_FP_MAINTAIN_ACTUAL_PUB as
2: /* $Header: PAFPMAPB.pls 120.16 2007/04/13 16:17:29 rthumma noship $ */
3:
4: P_PA_DEBUG_MODE varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
5:
6: /**MAINTAIN_ACTUAL_AMT_WRP will get value from PA_PROG_ACT_BY_PERIOD_TEMP view*
7: *Populate init columns in PA_BUDGET_LINES. *
8: *Valid values for parameter P_CALLING_CONTEXT are:*
143:
144: X_MSG_COUNT := 0;
145: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
146:
147: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
148: PA_DEBUG.init_err_stack('PA_FP_MAINTAIN_ACTUAL_PUB.MAINTAIN_ACTUAL_AMT_WRP');
149: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
150: pa_debug.set_curr_function( p_function => 'MAINTAIN_ACTUAL_AMT_WRP'
151: ,p_debug_mode => p_pa_debug_mode);
144: X_MSG_COUNT := 0;
145: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
146:
147: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
148: PA_DEBUG.init_err_stack('PA_FP_MAINTAIN_ACTUAL_PUB.MAINTAIN_ACTUAL_AMT_WRP');
149: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
150: pa_debug.set_curr_function( p_function => 'MAINTAIN_ACTUAL_AMT_WRP'
151: ,p_debug_mode => p_pa_debug_mode);
152: END IF;
145: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
146:
147: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
148: PA_DEBUG.init_err_stack('PA_FP_MAINTAIN_ACTUAL_PUB.MAINTAIN_ACTUAL_AMT_WRP');
149: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
150: pa_debug.set_curr_function( p_function => 'MAINTAIN_ACTUAL_AMT_WRP'
151: ,p_debug_mode => p_pa_debug_mode);
152: END IF;
153:
146:
147: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
148: PA_DEBUG.init_err_stack('PA_FP_MAINTAIN_ACTUAL_PUB.MAINTAIN_ACTUAL_AMT_WRP');
149: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
150: pa_debug.set_curr_function( p_function => 'MAINTAIN_ACTUAL_AMT_WRP'
151: ,p_debug_mode => p_pa_debug_mode);
152: END IF;
153:
154: IF p_project_id_tab.count = 0 THEN
147: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
148: PA_DEBUG.init_err_stack('PA_FP_MAINTAIN_ACTUAL_PUB.MAINTAIN_ACTUAL_AMT_WRP');
149: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
150: pa_debug.set_curr_function( p_function => 'MAINTAIN_ACTUAL_AMT_WRP'
151: ,p_debug_mode => p_pa_debug_mode);
152: END IF;
153:
154: IF p_project_id_tab.count = 0 THEN
155: IF p_pa_debug_mode = 'Y' THEN
151: ,p_debug_mode => p_pa_debug_mode);
152: END IF;
153:
154: IF p_project_id_tab.count = 0 THEN
155: IF p_pa_debug_mode = 'Y' THEN
156: PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG
157: ( p_called_mode => p_calling_mode,
158: p_msg => 'Returning because P_PROJECT_ID_TAB has count = 0',
159: p_module_name => l_module_name,
158: p_msg => 'Returning because P_PROJECT_ID_TAB has count = 0',
159: p_module_name => l_module_name,
160: p_log_level => 5 );
161: END IF;
162: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
163: PA_DEBUG.reset_err_stack;
164: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
165: PA_DEBUG.Reset_Curr_Function;
166: END IF;
159: p_module_name => l_module_name,
160: p_log_level => 5 );
161: END IF;
162: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
163: PA_DEBUG.reset_err_stack;
164: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
165: PA_DEBUG.Reset_Curr_Function;
166: END IF;
167:
160: p_log_level => 5 );
161: END IF;
162: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
163: PA_DEBUG.reset_err_stack;
164: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
165: PA_DEBUG.Reset_Curr_Function;
166: END IF;
167:
168: RETURN;
161: END IF;
162: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
163: PA_DEBUG.reset_err_stack;
164: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
165: PA_DEBUG.Reset_Curr_Function;
166: END IF;
167:
168: RETURN;
169: END IF;
216: LAST_UPDATE_LOGIN = l_last_update_login
217: WHERE budget_version_id = l_bv_id;
218: END IF;
219:
220: IF p_pa_debug_mode = 'Y' THEN
221: pa_fp_gen_amount_utils.fp_debug
222: (p_called_mode => p_calling_mode,
223: p_msg => 'Before calling
224: pa_fp_gen_amount_utils.get_plan_version_dtls',
234: X_MSG_DATA => x_msg_data);
235: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
236: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
237: END IF;
238: IF p_pa_debug_mode = 'Y' THEN
239: pa_fp_gen_amount_utils.fp_debug
240: (p_called_mode => p_calling_mode,
241: p_msg => 'Status after calling
242: pa_fp_gen_amount_utils.get_plan_version_dtls'
259:
260: IF ( l_ra_id_upd_reprt_tab.count <> 0 )
261: THEN
262:
263: IF p_pa_debug_mode = 'Y' THEN
264: pa_fp_gen_amount_utils.fp_debug
265: (p_called_mode => p_calling_mode,
266: p_msg => 'Before calling PA_FP_MAINTAIN_ACTUAL_PUB.'
267: ||'BLK_UPD_REPORTING_LINES_WRP',
284: P_ACTIVITY_CODE => 'DELETE',
285: X_RETURN_STATUS => x_return_status,
286: X_MSG_COUNT => x_msg_count,
287: X_MSG_DATA => x_msg_data);
288: IF p_pa_debug_mode = 'Y' THEN
289: pa_fp_gen_amount_utils.fp_debug
290: (p_called_mode => p_calling_mode,
291: p_msg => 'Status after calling PA_FP_MAINTAIN_ACTUAL_PUB.'
292: ||'BLK_UPD_REPORTING_LINES_WRP:'||x_return_status,
423: END LOOP; */
424: END IF; /* end if for l_time_phase */
425: END IF; /* end if for l_period_name_tab.count > 0 */
426:
427: IF p_pa_debug_mode = 'Y' THEN
428: pa_fp_gen_amount_utils.fp_debug
429: (p_called_mode => p_calling_mode,
430: p_msg => 'Before calling
431: pa_fp_maintain_actual_pub.maintain_actual_amt_ra',
447: X_MSG_DATA => x_msg_data );
448: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
449: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
450: END IF;
451: IF p_pa_debug_mode = 'Y' THEN
452: pa_fp_gen_amount_utils.fp_debug
453: (p_called_mode => p_calling_mode,
454: p_msg => 'Status after calling
455: pa_fp_maintain_actual_pub.maintain_actual_amt_ra'
493: FROM pa_resource_asgn_curr_tmp;
494:
495: -- Populate the display quantity for processed workplan resources
496:
497: IF p_pa_debug_mode = 'Y' THEN
498: PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG(
499: P_MSG => 'Before calling PA_BUDGET_LINES_UTILS.' ||
500: 'POPULATE_DISPLAY_QTY',
501: --P_CALLED_MODE => p_called_mode,
505: ( P_BUDGET_VERSION_ID => l_bv_id,
506: P_CONTEXT => 'WORKPLAN',
507: p_resource_assignment_id_tab => l_display_qty_ra_id_tab,
508: X_RETURN_STATUS => x_return_status );
509: IF p_pa_debug_mode = 'Y' THEN
510: PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG(
511: P_MSG => 'After calling PA_BUDGET_LINES_UTILS.' ||
512: 'POPULATE_DISPLAY_QTY: '||x_return_status,
513: --P_CALLED_MODE => p_called_mode,
517: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
518: END IF;
519:
520: -- Call the maintenance api in ROLLUP mode
521: IF p_pa_debug_mode = 'Y' THEN
522: PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG(
523: P_MSG => 'Before calling PA_RES_ASG_CURRENCY_PUB.' ||
524: 'MAINTAIN_DATA',
525: P_CALLED_MODE => p_calling_mode,
533: P_CALLED_MODE => p_calling_mode,
534: X_RETURN_STATUS => x_return_status,
535: X_MSG_COUNT => x_msg_count,
536: X_MSG_DATA => x_msg_data );
537: IF p_pa_debug_mode = 'Y' THEN
538: PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG(
539: P_MSG => 'After calling PA_RES_ASG_CURRENCY_PUB.' ||
540: 'MAINTAIN_DATA: '||x_return_status,
541: P_CALLED_MODE => p_calling_mode,
547:
548: -- END OF IPM: New Entity and Display Quantity ERs --------------------
549:
550:
551: IF p_pa_debug_mode = 'Y' THEN
552: pa_fp_gen_amount_utils.fp_debug
553: (p_called_mode => p_calling_mode,
554: p_msg => 'Before calling PA_FP_MAINTAIN_ACTUAL_PUB.'
555: ||'BLK_UPD_REPORTING_LINES_WRP',
572: P_ACTIVITY_CODE => 'UPDATE',
573: X_RETURN_STATUS => x_return_status,
574: X_MSG_COUNT => x_msg_count,
575: X_MSG_DATA => x_msg_data);
576: IF p_pa_debug_mode = 'Y' THEN
577: pa_fp_gen_amount_utils.fp_debug
578: (p_called_mode => p_calling_mode,
579: p_msg => 'Status after calling PA_FP_MAINTAIN_ACTUAL_PUB.'
580: ||'BLK_UPD_REPORTING_LINES_WRP:'||x_return_status,
604: END IF;
605:
606: FOR jj in 1..l_bv_id_tab.count LOOP
607: /* Calling the pa_fp_maintain_actual_pub.sync_up_planning_dates api */
608: IF p_pa_debug_mode = 'Y' THEN
609: pa_fp_gen_amount_utils.fp_debug
610: (p_called_mode => p_calling_mode,
611: p_msg => 'Before calling
612: pa_fp_maintain_actual_pub.sync_up_planning_dates',
618: P_CALLING_CONTEXT => 'SYNC_VERSION_LEVEL',
619: X_RETURN_STATUS => x_return_Status,
620: X_MSG_COUNT => x_msg_count,
621: X_MSG_DATA => x_msg_data );
622: IF p_pa_debug_mode = 'Y' THEN
623: pa_fp_gen_amount_utils.fp_debug
624: (p_called_mode => p_calling_mode,
625: p_msg => 'Status after calling
626: pa_fp_maintain_actual_pub.sync_up_planning_dates'
634: FOR ss1 IN 1 .. P_PROJECT_ID_TAB.COUNT LOOP
635: delete from PA_PROG_ACT_BY_PERIOD_TEMP where project_id = P_PROJECT_ID_TAB(ss1) and structure_version_id = P_WP_STR_VERSION_ID_TAB(ss1);
636: end loop;
637:
638: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
639: PA_DEBUG.reset_err_stack;
640: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
641: PA_DEBUG.Reset_Curr_Function;
642: END IF;
635: delete from PA_PROG_ACT_BY_PERIOD_TEMP where project_id = P_PROJECT_ID_TAB(ss1) and structure_version_id = P_WP_STR_VERSION_ID_TAB(ss1);
636: end loop;
637:
638: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
639: PA_DEBUG.reset_err_stack;
640: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
641: PA_DEBUG.Reset_Curr_Function;
642: END IF;
643:
636: end loop;
637:
638: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
639: PA_DEBUG.reset_err_stack;
640: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
641: PA_DEBUG.Reset_Curr_Function;
642: END IF;
643:
644: EXCEPTION
637:
638: IF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'Y' THEN
639: PA_DEBUG.reset_err_stack;
640: ELSIF p_pa_debug_mode = 'Y' AND p_init_msg_flag = 'N' THEN
641: PA_DEBUG.Reset_Curr_Function;
642: END IF;
643:
644: EXCEPTION
645: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
659: END IF;
660: -- Bug 4621171: Removed ROLLBACK statement.
661:
662: x_return_status := FND_API.G_RET_STS_ERROR;
663: IF P_PA_DEBUG_MODE = 'Y' THEN
664: pa_fp_gen_amount_utils.fp_debug
665: (p_called_mode => p_calling_mode,
666: p_msg => 'Invalid Arguments Passed',
667: p_module_name => l_module_name,
666: p_msg => 'Invalid Arguments Passed',
667: p_module_name => l_module_name,
668: p_log_level => 5);
669: IF p_init_msg_flag = 'Y' THEN
670: PA_DEBUG.reset_err_stack;
671: ELSIF p_init_msg_flag = 'N' THEN
672: PA_DEBUG.Reset_Curr_Function;
673: END IF;
674: END IF;
668: p_log_level => 5);
669: IF p_init_msg_flag = 'Y' THEN
670: PA_DEBUG.reset_err_stack;
671: ELSIF p_init_msg_flag = 'N' THEN
672: PA_DEBUG.Reset_Curr_Function;
673: END IF;
674: END IF;
675: -- Bug 4621171: Removed RAISE statement.
676: WHEN OTHERS THEN
682: FND_MSG_PUB.add_exc_msg
683: ( p_pkg_name => 'PA_FP_MAINTAIN_ACTUAL_PUB',
684: p_procedure_name => 'MAINTAIN_ACTUAL_AMT_WRP',
685: p_error_text => substr(sqlerrm,1,240));
686: IF P_PA_DEBUG_MODE = 'Y' THEN
687: pa_fp_gen_amount_utils.fp_debug
688: (p_called_mode => p_calling_mode,
689: p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
690: p_module_name => l_module_name,
689: p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
690: p_module_name => l_module_name,
691: p_log_level => 5);
692: IF p_init_msg_flag = 'Y' THEN
693: PA_DEBUG.reset_err_stack;
694: ELSIF p_init_msg_flag = 'N' THEN
695: PA_DEBUG.Reset_Curr_Function;
696: END IF;
697: END IF;
691: p_log_level => 5);
692: IF p_init_msg_flag = 'Y' THEN
693: PA_DEBUG.reset_err_stack;
694: ELSIF p_init_msg_flag = 'N' THEN
695: PA_DEBUG.Reset_Curr_Function;
696: END IF;
697: END IF;
698: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
699:
721: BEGIN
722: X_MSG_COUNT := 0;
723: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
724:
725: IF p_pa_debug_mode = 'Y' THEN
726: pa_debug.set_curr_function( p_function => 'UPD_REPORTING_LINES_WRP'
727: ,p_debug_mode => p_pa_debug_mode);
728: END IF;
729:
722: X_MSG_COUNT := 0;
723: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
724:
725: IF p_pa_debug_mode = 'Y' THEN
726: pa_debug.set_curr_function( p_function => 'UPD_REPORTING_LINES_WRP'
727: ,p_debug_mode => p_pa_debug_mode);
728: END IF;
729:
730: IF p_budget_line_id_tab.count = 0 THEN
723: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
724:
725: IF p_pa_debug_mode = 'Y' THEN
726: pa_debug.set_curr_function( p_function => 'UPD_REPORTING_LINES_WRP'
727: ,p_debug_mode => p_pa_debug_mode);
728: END IF;
729:
730: IF p_budget_line_id_tab.count = 0 THEN
731: IF P_PA_DEBUG_MODE = 'Y' THEN
727: ,p_debug_mode => p_pa_debug_mode);
728: END IF;
729:
730: IF p_budget_line_id_tab.count = 0 THEN
731: IF P_PA_DEBUG_MODE = 'Y' THEN
732: PA_DEBUG.Reset_Curr_Function;
733: END IF;
734: RETURN;
735: END IF;
728: END IF;
729:
730: IF p_budget_line_id_tab.count = 0 THEN
731: IF P_PA_DEBUG_MODE = 'Y' THEN
732: PA_DEBUG.Reset_Curr_Function;
733: END IF;
734: RETURN;
735: END IF;
736:
734: RETURN;
735: END IF;
736:
737: FOR jj IN 1..p_budget_line_id_tab.count LOOP
738: IF p_pa_debug_mode = 'Y' THEN
739: pa_fp_gen_amount_utils.fp_debug
740: (p_called_mode => p_calling_mode,
741: p_msg => 'Before calling
742: pa_fp_pji_intg_pkg.update_reporting_lines_frombl',
742: pa_fp_pji_intg_pkg.update_reporting_lines_frombl',
743: p_module_name => l_module_name,
744: p_log_level => 5);
745: END IF;
746: IF p_pa_debug_mode = 'Y' THEN
747: pa_fp_gen_amount_utils.fp_debug
748: (p_called_mode => p_calling_mode,
749: p_msg => 'Value of budget_line_id b4
750: calling update_reporting_lines_frombl: '
760: ,p_budget_line_id => p_budget_line_id_tab(jj)
761: ,x_msg_data => x_msg_data
762: ,x_msg_count => x_msg_count
763: ,x_return_status => x_return_status);
764: IF p_pa_debug_mode = 'Y' THEN
765: pa_fp_gen_amount_utils.fp_debug
766: (p_called_mode => p_calling_mode,
767: p_msg => 'Status after calling
768: pa_fp_pji_intg_pkg.update_reporting_lines_frombl'
771: p_log_level => 5);
772: END IF;
773: END LOOP;
774:
775: IF P_PA_DEBUG_MODE = 'Y' THEN
776: PA_DEBUG.Reset_Curr_Function;
777: END IF;
778:
779: EXCEPTION
772: END IF;
773: END LOOP;
774:
775: IF P_PA_DEBUG_MODE = 'Y' THEN
776: PA_DEBUG.Reset_Curr_Function;
777: END IF;
778:
779: EXCEPTION
780: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
794: END IF;
795: -- Bug 4621171: Removed ROLLBACK statement.
796:
797: x_return_status := FND_API.G_RET_STS_ERROR;
798: IF P_PA_DEBUG_MODE = 'Y' THEN
799: pa_fp_gen_amount_utils.fp_debug
800: (p_msg => 'Invalid Arguments Passed',
801: p_module_name => l_module_name,
802: p_log_level => 5);
799: pa_fp_gen_amount_utils.fp_debug
800: (p_msg => 'Invalid Arguments Passed',
801: p_module_name => l_module_name,
802: p_log_level => 5);
803: PA_DEBUG.Reset_Curr_Function;
804: END IF;
805: -- Bug 4621171: Removed RAISE statement.
806: WHEN OTHERS THEN
807: -- Bug 4621171: Removed ROLLBACK statement.
812: FND_MSG_PUB.add_exc_msg
813: ( p_pkg_name => 'PA_FP_MAINTAIN_ACTUAL_PUB',
814: p_procedure_name => 'UPD_REPORTING_LINES_WRP',
815: p_error_text => substr(sqlerrm,1,240));
816: IF P_PA_DEBUG_MODE = 'Y' THEN
817: pa_fp_gen_amount_utils.fp_debug
818: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
819: p_module_name => l_module_name,
820: p_log_level => 5);
817: pa_fp_gen_amount_utils.fp_debug
818: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
819: p_module_name => l_module_name,
820: p_log_level => 5);
821: PA_DEBUG.Reset_Curr_Function;
822: END IF;
823: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
824:
825: END UPD_REPORTING_LINES_WRP;
996: --Setting initial values
997: X_MSG_COUNT := 0;
998: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
999:
1000: IF p_pa_debug_mode = 'Y' THEN
1001: pa_debug.set_curr_function( p_function => 'MAINTAIN_ACTUAL_AMT_RA'
1002: ,p_debug_mode => p_pa_debug_mode);
1003: END IF;
1004:
997: X_MSG_COUNT := 0;
998: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
999:
1000: IF p_pa_debug_mode = 'Y' THEN
1001: pa_debug.set_curr_function( p_function => 'MAINTAIN_ACTUAL_AMT_RA'
1002: ,p_debug_mode => p_pa_debug_mode);
1003: END IF;
1004:
1005: SELECT NVL(UNPLANNED_FLAG,'N')
998: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
999:
1000: IF p_pa_debug_mode = 'Y' THEN
1001: pa_debug.set_curr_function( p_function => 'MAINTAIN_ACTUAL_AMT_RA'
1002: ,p_debug_mode => p_pa_debug_mode);
1003: END IF;
1004:
1005: SELECT NVL(UNPLANNED_FLAG,'N')
1006: INTO l_unplanned_res_flag
1140: WHEN NO_DATA_FOUND THEN
1141: l_ins_flag := 'Y';
1142: END;
1143:
1144: IF p_pa_debug_mode = 'Y' THEN
1145: pa_fp_gen_amount_utils.fp_debug
1146: (p_called_mode => p_calling_mode,
1147: p_msg => 'Value of l_ins_flag after sleecting from pa_budget_line: '||l_ins_flag,
1148: p_module_name => l_module_name,
1161: OR p_calling_context = 'FP_GEN_FCST_COPY_ACTUAL')) THEN
1162: /* no matter unplanned res flag is Y or N,
1163: the actual values (init cols ) should be copied to
1164: the plan columns. */
1165: IF p_pa_debug_mode = 'Y' THEN
1166: pa_fp_gen_amount_utils.fp_debug
1167: (p_called_mode => p_calling_mode,
1168: p_msg => 'Before inserting into pa_bdgt_lines when l_ins_flag is Y,
1169: p_txn_amt_type_code is ACTUAL_TXN and l_unplanned_res_flag is Y',
1336: l_bill_rate_override_tab(j)) /* bug 4071198 */
1337: RETURNING budget_line_id BULK COLLECT INTO l_bl_id_tab;
1338: END IF; -- calling context check (End Bug 4398799)
1339:
1340: IF p_pa_debug_mode = 'Y' THEN
1341: pa_fp_gen_amount_utils.fp_debug
1342: (p_called_mode => p_calling_mode,
1343: p_msg => 'After inserting into pa_bdgt_lines when l_ins_flag is Y,
1344: p_txn_amt_type_code is ACTUAL_TXN and l_unplanned_res_flag is Y',
1348: ELSIF (p_calling_context = 'WP_PROGRESS' OR
1349: p_calling_context = 'WP_SUMMARIZED_ACTUAL') THEN
1350: --if unplanned res flag is N then
1351: --only the actual values (init cols ) should be populated.
1352: IF p_pa_debug_mode = 'Y' THEN
1353: pa_fp_gen_amount_utils.fp_debug
1354: (p_called_mode => p_calling_mode,
1355: p_msg => 'Before inserting into pa_bdgt_lines when l_ins_flag is Y,
1356: p_txn_amt_type_code is ACTUAL_TXN and l_unplanned_res_flag is N',
1409: l_qty_tab(j),
1410: l_pc_code,
1411: l_pfc_code );
1412: ELSIF (p_txn_amt_type_code = 'PLANNING_TXN') THEN
1413: IF p_pa_debug_mode = 'Y' THEN
1414: pa_fp_gen_amount_utils.fp_debug
1415: (p_called_mode => p_calling_mode,
1416: p_msg => 'Before inserting into pa_bdgt_lines when l_ins_flag is Y,
1417: p_txn_amt_type_code is PLANNING_TXN and
1488: BULK COLLECT INTO l_bl_id_tab;
1489: END IF;
1490: /* dbms_output.put_line('No. of rows inserted in
1491: bl table: '||sql%rowcount); */
1492: IF P_PA_DEBUG_MODE = 'Y' THEN
1493: PA_DEBUG.Reset_Curr_Function;
1494: END IF;
1495: RETURN;
1496: ELSIF l_ins_flag = 'N' THEN
1489: END IF;
1490: /* dbms_output.put_line('No. of rows inserted in
1491: bl table: '||sql%rowcount); */
1492: IF P_PA_DEBUG_MODE = 'Y' THEN
1493: PA_DEBUG.Reset_Curr_Function;
1494: END IF;
1495: RETURN;
1496: ELSIF l_ins_flag = 'N' THEN
1497: FOR k in 1..l_period_name_tab.count LOOP
2481: WHERE resource_assignment_id = p_resource_assignment_id;
2482: END IF;
2483: END IF;
2484:
2485: IF p_pa_debug_mode = 'Y' THEN
2486: PA_DEBUG.Reset_Curr_Function;
2487: END IF;
2488:
2489: EXCEPTION
2482: END IF;
2483: END IF;
2484:
2485: IF p_pa_debug_mode = 'Y' THEN
2486: PA_DEBUG.Reset_Curr_Function;
2487: END IF;
2488:
2489: EXCEPTION
2490: WHEN OTHERS THEN
2496: FND_MSG_PUB.add_exc_msg
2497: ( p_pkg_name => 'PA_FP_MAINTAIN_ACTUAL_PUB',
2498: p_procedure_name => 'MAINTAIN_ACTUAL_AMT_RA',
2499: p_error_text => substr(sqlerrm,1,240));
2500: IF P_PA_DEBUG_MODE = 'Y' THEN
2501: pa_fp_gen_amount_utils.fp_debug
2502: (p_called_mode => p_calling_mode,
2503: p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
2504: p_module_name => l_module_name,
2502: (p_called_mode => p_calling_mode,
2503: p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
2504: p_module_name => l_module_name,
2505: p_log_level => 5);
2506: PA_DEBUG.Reset_Curr_Function;
2507: END IF;
2508: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2509:
2510: END MAINTAIN_ACTUAL_AMT_RA;
2799: /* Setting initial values */
2800: X_MSG_COUNT := 0;
2801: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2802:
2803: IF p_pa_debug_mode = 'Y' THEN
2804: PA_DEBUG.SET_CURR_FUNCTION
2805: ( p_function => 'SYNC_UP_PLANNING_DATES',
2806: p_debug_mode => p_pa_debug_mode );
2807: END IF;
2800: X_MSG_COUNT := 0;
2801: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2802:
2803: IF p_pa_debug_mode = 'Y' THEN
2804: PA_DEBUG.SET_CURR_FUNCTION
2805: ( p_function => 'SYNC_UP_PLANNING_DATES',
2806: p_debug_mode => p_pa_debug_mode );
2807: END IF;
2808:
2802:
2803: IF p_pa_debug_mode = 'Y' THEN
2804: PA_DEBUG.SET_CURR_FUNCTION
2805: ( p_function => 'SYNC_UP_PLANNING_DATES',
2806: p_debug_mode => p_pa_debug_mode );
2807: END IF;
2808:
2809: IF p_pa_debug_mode = 'Y' THEN
2810: PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG
2805: ( p_function => 'SYNC_UP_PLANNING_DATES',
2806: p_debug_mode => p_pa_debug_mode );
2807: END IF;
2808:
2809: IF p_pa_debug_mode = 'Y' THEN
2810: PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG
2811: ( p_msg => 'Before calling ' ||
2812: 'PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
2813: p_module_name => l_module_name,
2819: X_FP_COLS_REC => l_fp_cols_rec,
2820: X_RETURN_STATUS => x_return_status,
2821: X_MSG_COUNT => x_msg_count,
2822: X_MSG_DATA => x_msg_data );
2823: IF p_pa_debug_mode = 'Y' THEN
2824: PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG
2825: ( p_msg => 'Status after calling ' ||
2826: 'PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
2827: ||x_return_status,
2948:
2949: END IF; -- end of data fetching logic
2950:
2951: IF l_res_asg_id_tab.count = 0 THEN
2952: IF p_pa_debug_mode = 'Y' THEN
2953: PA_DEBUG.Reset_Curr_Function;
2954: END IF;
2955: RETURN;
2956: END IF;
2949: END IF; -- end of data fetching logic
2950:
2951: IF l_res_asg_id_tab.count = 0 THEN
2952: IF p_pa_debug_mode = 'Y' THEN
2953: PA_DEBUG.Reset_Curr_Function;
2954: END IF;
2955: RETURN;
2956: END IF;
2957:
3091: END IF;
3092:
3093: /* bug 4408930 */
3094:
3095: IF p_pa_debug_mode = 'Y' THEN
3096: PA_DEBUG.Reset_Curr_Function;
3097: END IF;
3098:
3099: EXCEPTION
3092:
3093: /* bug 4408930 */
3094:
3095: IF p_pa_debug_mode = 'Y' THEN
3096: PA_DEBUG.Reset_Curr_Function;
3097: END IF;
3098:
3099: EXCEPTION
3100: WHEN OTHERS THEN
3106: FND_MSG_PUB.add_exc_msg
3107: ( p_pkg_name => 'PA_FP_MAINTAIN_ACTUAL_PUB',
3108: p_procedure_name => 'SYNC_UP_PLANNING_DATES',
3109: p_error_text => substr(sqlerrm,1,240));
3110: IF P_PA_DEBUG_MODE = 'Y' THEN
3111: pa_fp_gen_amount_utils.fp_debug
3112: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
3113: p_module_name => l_module_name,
3114: p_log_level => 5);
3111: pa_fp_gen_amount_utils.fp_debug
3112: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
3113: p_module_name => l_module_name,
3114: p_log_level => 5);
3115: PA_DEBUG.Reset_Curr_Function;
3116: END IF;
3117: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3118:
3119: END SYNC_UP_PLANNING_DATES;
3179: BEGIN
3180: X_MSG_COUNT := 0;
3181: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3182:
3183: IF p_pa_debug_mode = 'Y' THEN
3184: PA_DEBUG.SET_CURR_FUNCTION
3185: ( p_function => 'BLK_UPD_REPORTING_LINES_WRP',
3186: p_debug_mode => p_pa_debug_mode );
3187: END IF;
3180: X_MSG_COUNT := 0;
3181: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3182:
3183: IF p_pa_debug_mode = 'Y' THEN
3184: PA_DEBUG.SET_CURR_FUNCTION
3185: ( p_function => 'BLK_UPD_REPORTING_LINES_WRP',
3186: p_debug_mode => p_pa_debug_mode );
3187: END IF;
3188:
3182:
3183: IF p_pa_debug_mode = 'Y' THEN
3184: PA_DEBUG.SET_CURR_FUNCTION
3185: ( p_function => 'BLK_UPD_REPORTING_LINES_WRP',
3186: p_debug_mode => p_pa_debug_mode );
3187: END IF;
3188:
3189: l_rep_budget_line_id_tab.delete;
3190: l_rep_res_assignment_id_tab.delete;
3425: AND bl.resource_assignment_id = tmp.resource_assignment_id;
3426: END IF;
3427:
3428: IF l_rep_budget_line_id_tab.count = 0 THEN
3429: IF p_pa_debug_mode = 'Y' THEN
3430: PA_DEBUG.Reset_Curr_Function;
3431: END IF;
3432: RETURN;
3433: END IF;
3426: END IF;
3427:
3428: IF l_rep_budget_line_id_tab.count = 0 THEN
3429: IF p_pa_debug_mode = 'Y' THEN
3430: PA_DEBUG.Reset_Curr_Function;
3431: END IF;
3432: RETURN;
3433: END IF;
3434:
3431: END IF;
3432: RETURN;
3433: END IF;
3434:
3435: IF p_pa_debug_mode = 'Y' THEN
3436: pa_fp_gen_amount_utils.fp_debug
3437: (p_msg => 'Before calling pa_fp_pji_intg_pkg.ublk_update_reporting_lines',
3438: p_module_name => l_module_name,
3439: p_log_level => 5);
3472: ,p_rep_pf_act_rev_tab => l_rep_pf_act_rev_tab
3473: ,x_msg_data => x_msg_data
3474: ,x_msg_count => x_msg_count
3475: ,x_return_status => x_return_status );
3476: IF p_pa_debug_mode = 'Y' THEN
3477: pa_fp_gen_amount_utils.fp_debug
3478: (p_msg => 'Status after calling
3479: pa_fp_pji_intg_pkg.blk_update_reporting_lines:'
3480: ||x_return_status,
3484: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3485: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
3486: END IF;
3487:
3488: IF p_pa_debug_mode = 'Y' THEN
3489: PA_DEBUG.Reset_Curr_Function;
3490: END IF;
3491:
3492: EXCEPTION
3485: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
3486: END IF;
3487:
3488: IF p_pa_debug_mode = 'Y' THEN
3489: PA_DEBUG.Reset_Curr_Function;
3490: END IF;
3491:
3492: EXCEPTION
3493: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
3507: END IF;
3508: -- Bug 4621171: Removed ROLLBACK statement.
3509:
3510: x_return_status := FND_API.G_RET_STS_ERROR;
3511: IF P_PA_DEBUG_MODE = 'Y' THEN
3512: pa_fp_gen_amount_utils.fp_debug
3513: (p_msg => 'Invalid Arguments Passed',
3514: p_module_name => l_module_name,
3515: p_log_level => 5);
3512: pa_fp_gen_amount_utils.fp_debug
3513: (p_msg => 'Invalid Arguments Passed',
3514: p_module_name => l_module_name,
3515: p_log_level => 5);
3516: PA_DEBUG.Reset_Curr_Function;
3517: END IF;
3518: -- Bug 4621171: Removed RAISE statement.
3519: WHEN OTHERS THEN
3520: -- Bug 4621171: Removed ROLLBACK statement.
3524: FND_MSG_PUB.add_exc_msg
3525: ( p_pkg_name => 'PA_FP_MAINTAIN_ACTUAL_PUB',
3526: p_procedure_name => 'BLK_UPD_REPORTING_LINES_WRP',
3527: p_error_text => substr(sqlerrm,1,240));
3528: IF P_PA_DEBUG_MODE = 'Y' THEN
3529: pa_fp_gen_amount_utils.fp_debug
3530: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
3531: p_module_name => l_module_name,
3532: p_log_level => 5);
3529: pa_fp_gen_amount_utils.fp_debug
3530: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
3531: p_module_name => l_module_name,
3532: p_log_level => 5);
3533: PA_DEBUG.Reset_Curr_Function;
3534: END IF;
3535: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3536:
3537: END BLK_UPD_REPORTING_LINES_WRP;
3571: BEGIN
3572: X_MSG_COUNT := 0;
3573: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3574:
3575: IF p_pa_debug_mode = 'Y' THEN
3576: PA_DEBUG.SET_CURR_FUNCTION
3577: ( p_function => 'SYNC_UP_PLANNING_DATES_NONE_TP',
3578: p_debug_mode => p_pa_debug_mode );
3579: END IF;
3572: X_MSG_COUNT := 0;
3573: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3574:
3575: IF p_pa_debug_mode = 'Y' THEN
3576: PA_DEBUG.SET_CURR_FUNCTION
3577: ( p_function => 'SYNC_UP_PLANNING_DATES_NONE_TP',
3578: p_debug_mode => p_pa_debug_mode );
3579: END IF;
3580:
3574:
3575: IF p_pa_debug_mode = 'Y' THEN
3576: PA_DEBUG.SET_CURR_FUNCTION
3577: ( p_function => 'SYNC_UP_PLANNING_DATES_NONE_TP',
3578: p_debug_mode => p_pa_debug_mode );
3579: END IF;
3580:
3581: SELECT resource_assignment_id,
3582: planning_start_date,
3588: FROM pa_resource_assignments
3589: WHERE budget_version_id = P_BUDGET_VERSION_ID;
3590:
3591: IF l_res_asg_id_tab.count = 0 THEN
3592: IF p_pa_debug_mode = 'Y' THEN
3593: PA_DEBUG.Reset_Curr_Function;
3594: END IF;
3595: RETURN;
3596: END IF;
3589: WHERE budget_version_id = P_BUDGET_VERSION_ID;
3590:
3591: IF l_res_asg_id_tab.count = 0 THEN
3592: IF p_pa_debug_mode = 'Y' THEN
3593: PA_DEBUG.Reset_Curr_Function;
3594: END IF;
3595: RETURN;
3596: END IF;
3597:
3657: SET planning_start_date = l_upd_planning_start_date_tab(i),
3658: planning_end_date = l_upd_planning_end_date_tab(i)
3659: WHERE resource_assignment_id = l_upd_res_asg_id_tab(i);
3660:
3661: IF p_pa_debug_mode = 'Y' THEN
3662: PA_DEBUG.Reset_Curr_Function;
3663: END IF;
3664: EXCEPTION
3665: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
3658: planning_end_date = l_upd_planning_end_date_tab(i)
3659: WHERE resource_assignment_id = l_upd_res_asg_id_tab(i);
3660:
3661: IF p_pa_debug_mode = 'Y' THEN
3662: PA_DEBUG.Reset_Curr_Function;
3663: END IF;
3664: EXCEPTION
3665: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
3666: l_msg_count := FND_MSG_PUB.count_msg;
3679: END IF;
3680: ROLLBACK;
3681:
3682: x_return_status := FND_API.G_RET_STS_ERROR;
3683: IF P_PA_DEBUG_MODE = 'Y' THEN
3684: pa_fp_gen_amount_utils.fp_debug
3685: (p_msg => 'Invalid Arguments Passed',
3686: p_module_name => l_module_name,
3687: p_log_level => 5);
3684: pa_fp_gen_amount_utils.fp_debug
3685: (p_msg => 'Invalid Arguments Passed',
3686: p_module_name => l_module_name,
3687: p_log_level => 5);
3688: PA_DEBUG.Reset_Curr_Function;
3689: END IF;
3690: RAISE;
3691: WHEN OTHERS THEN
3692: rollback;
3696: FND_MSG_PUB.add_exc_msg
3697: ( p_pkg_name => 'PA_FP_MAINTAIN_ACTUAL_PUB',
3698: p_procedure_name => 'SYNC_UP_PLANNING_DATES_NONE_TP',
3699: p_error_text => substr(sqlerrm,1,240));
3700: IF P_PA_DEBUG_MODE = 'Y' THEN
3701: pa_fp_gen_amount_utils.fp_debug
3702: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
3703: p_module_name => l_module_name,
3704: p_log_level => 5);
3701: pa_fp_gen_amount_utils.fp_debug
3702: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
3703: p_module_name => l_module_name,
3704: p_log_level => 5);
3705: PA_DEBUG.Reset_Curr_Function;
3706: END IF;
3707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3708:
3709: END SYNC_UP_PLANNING_DATES_NONE_TP;