3:
4: l_module_name VARCHAR2(100) := 'pa.plsql.pa_fp_gen_amount_utils';
5: Invalid_Arg_Exc EXCEPTION;
6:
7: P_PA_DEBUG_MODE varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
8: PROCEDURE GET_PLAN_VERSION_DTLS
9: (P_PROJECT_ID IN PA_PROJ_FP_OPTIONS.PROJECT_ID%TYPE,
10: P_BUDGET_VERSION_ID IN PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE,
11: X_FP_COLS_REC OUT NOCOPY FP_COLS,
30: X_MSG_COUNT := 0;
31:
32: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
33:
34: IF p_pa_debug_mode = 'Y' THEN
35: pa_debug.set_curr_function( p_function => 'GET_PLAN_VERSION_DTLS'
36: ,p_debug_mode => p_pa_debug_mode);
37: END IF;
38:
31:
32: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
33:
34: IF p_pa_debug_mode = 'Y' THEN
35: pa_debug.set_curr_function( p_function => 'GET_PLAN_VERSION_DTLS'
36: ,p_debug_mode => p_pa_debug_mode);
37: END IF;
38:
39: --dbms_output.put_line('in utils before select');
32: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
33:
34: IF p_pa_debug_mode = 'Y' THEN
35: pa_debug.set_curr_function( p_function => 'GET_PLAN_VERSION_DTLS'
36: ,p_debug_mode => p_pa_debug_mode);
37: END IF;
38:
39: --dbms_output.put_line('in utils before select');
40:
265: /* Plan_ver_code is selected at PLAN_TYPE instead of PLAN_VERSION */
266:
267: --dbms_output.put_line('in utils after select');
268:
269: IF p_pa_debug_mode = 'Y' THEN
270: PA_DEBUG.Reset_Curr_Function;
271: END IF;
272:
273: EXCEPTION
266:
267: --dbms_output.put_line('in utils after select');
268:
269: IF p_pa_debug_mode = 'Y' THEN
270: PA_DEBUG.Reset_Curr_Function;
271: END IF;
272:
273: EXCEPTION
274: WHEN Invalid_Arg_Exc THEN
273: EXCEPTION
274: WHEN Invalid_Arg_Exc THEN
275: X_MSG_COUNT := FND_MSG_PUB.count_msg;
276: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
277: IF p_pa_debug_mode = 'Y' THEN
278: PA_DEBUG.Reset_Curr_Function;
279: END IF;
280: -- Bug 4621171: Removed RAISE statement.
281:
274: WHEN Invalid_Arg_Exc THEN
275: X_MSG_COUNT := FND_MSG_PUB.count_msg;
276: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
277: IF p_pa_debug_mode = 'Y' THEN
278: PA_DEBUG.Reset_Curr_Function;
279: END IF;
280: -- Bug 4621171: Removed RAISE statement.
281:
282: WHEN OTHERS THEN
284: x_msg_data := SUBSTR(SQLERRM,1,240);
285: FND_MSG_PUB.add_exc_msg
286: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
287: ,p_procedure_name => 'GET_PLAN_VERSION_DTLS');
288: IF P_PA_DEBUG_MODE = 'Y' THEN
289: pa_fp_gen_amount_utils.fp_debug
290: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
291: p_module_name => l_module_name,
292: p_log_level => 5);
289: pa_fp_gen_amount_utils.fp_debug
290: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
291: p_module_name => l_module_name,
292: p_log_level => 5);
293: PA_DEBUG.Reset_Curr_Function;
294: END IF;
295: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
296:
297: END GET_PLAN_VERSION_DTLS;
309:
310: X_MSG_COUNT := 0;
311: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
312:
313: IF p_pa_debug_mode = 'Y' THEN
314: pa_debug.set_curr_function( p_function => 'CHK_CMT_TXN_CURRENCY'
315: ,p_debug_mode => p_pa_debug_mode);
316: END IF;
317:
310: X_MSG_COUNT := 0;
311: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
312:
313: IF p_pa_debug_mode = 'Y' THEN
314: pa_debug.set_curr_function( p_function => 'CHK_CMT_TXN_CURRENCY'
315: ,p_debug_mode => p_pa_debug_mode);
316: END IF;
317:
318: BEGIN
311: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
312:
313: IF p_pa_debug_mode = 'Y' THEN
314: pa_debug.set_curr_function( p_function => 'CHK_CMT_TXN_CURRENCY'
315: ,p_debug_mode => p_pa_debug_mode);
316: END IF;
317:
318: BEGIN
319: SELECT 'Y'
326: x_return_status := FND_API.G_RET_STS_ERROR;
327: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
328: p_msg_name => 'PA_FP_CMT_MUL_CURRENCY');
329:
330: IF p_pa_debug_mode = 'Y' THEN
331: PA_DEBUG.Reset_Curr_Function;
332: END IF;
333:
334: EXCEPTION
327: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
328: p_msg_name => 'PA_FP_CMT_MUL_CURRENCY');
329:
330: IF p_pa_debug_mode = 'Y' THEN
331: PA_DEBUG.Reset_Curr_Function;
332: END IF;
333:
334: EXCEPTION
335: WHEN NO_DATA_FOUND THEN
333:
334: EXCEPTION
335: WHEN NO_DATA_FOUND THEN
336: x_return_status := FND_API.G_RET_STS_SUCCESS;
337: IF p_pa_debug_mode = 'Y' THEN
338: PA_DEBUG.Reset_Curr_Function;
339: END IF;
340: WHEN Invalid_Arg_Exc THEN
341: X_MSG_COUNT := FND_MSG_PUB.count_msg;
334: EXCEPTION
335: WHEN NO_DATA_FOUND THEN
336: x_return_status := FND_API.G_RET_STS_SUCCESS;
337: IF p_pa_debug_mode = 'Y' THEN
338: PA_DEBUG.Reset_Curr_Function;
339: END IF;
340: WHEN Invalid_Arg_Exc THEN
341: X_MSG_COUNT := FND_MSG_PUB.count_msg;
342: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
339: END IF;
340: WHEN Invalid_Arg_Exc THEN
341: X_MSG_COUNT := FND_MSG_PUB.count_msg;
342: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
343: IF p_pa_debug_mode = 'Y' THEN
344: PA_DEBUG.Reset_Curr_Function;
345: END IF;
346: RAISE;
347:
340: WHEN Invalid_Arg_Exc THEN
341: X_MSG_COUNT := FND_MSG_PUB.count_msg;
342: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
343: IF p_pa_debug_mode = 'Y' THEN
344: PA_DEBUG.Reset_Curr_Function;
345: END IF;
346: RAISE;
347:
348: WHEN OTHERS THEN
352: x_msg_data := SUBSTR(SQLERRM,1,240);
353: FND_MSG_PUB.add_exc_msg
354: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
355: ,p_procedure_name => 'CHK_CMT_TXN_CURRENCY');
356: IF p_pa_debug_mode = 'Y' THEN
357: PA_DEBUG.Reset_Curr_Function;
358: END IF;
359: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
360: END;
353: FND_MSG_PUB.add_exc_msg
354: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
355: ,p_procedure_name => 'CHK_CMT_TXN_CURRENCY');
356: IF p_pa_debug_mode = 'Y' THEN
357: PA_DEBUG.Reset_Curr_Function;
358: END IF;
359: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
360: END;
361:
403:
404: x_msg_count := 0;
405: x_return_status := FND_API.G_RET_STS_SUCCESS;
406:
407: IF p_pa_debug_mode = 'Y' THEN
408: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
409: ,p_debug_mode => p_pa_debug_mode);
410: END IF;
411:
404: x_msg_count := 0;
405: x_return_status := FND_API.G_RET_STS_SUCCESS;
406:
407: IF p_pa_debug_mode = 'Y' THEN
408: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
409: ,p_debug_mode => p_pa_debug_mode);
410: END IF;
411:
412: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
405: x_return_status := FND_API.G_RET_STS_SUCCESS;
406:
407: IF p_pa_debug_mode = 'Y' THEN
408: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
409: ,p_debug_mode => p_pa_debug_mode);
410: END IF;
411:
412: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
413: l_debug_mode := NVL(l_debug_mode, 'Y');
408: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
409: ,p_debug_mode => p_pa_debug_mode);
410: END IF;
411:
412: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
413: l_debug_mode := NVL(l_debug_mode, 'Y');
414:
415: -- Check for business rules violations
416:
414:
415: -- Check for business rules violations
416:
417: IF l_debug_mode = 'Y' THEN
418: pa_debug.g_err_stage:='Validating input parameters';
419:
420: pa_fp_gen_amount_utils.fp_debug
421: (p_msg => pa_debug.g_err_stage,
422: p_module_name => l_module_name,
417: IF l_debug_mode = 'Y' THEN
418: pa_debug.g_err_stage:='Validating input parameters';
419:
420: pa_fp_gen_amount_utils.fp_debug
421: (p_msg => pa_debug.g_err_stage,
422: p_module_name => l_module_name,
423: p_log_level => 5);
424: END IF;
425:
427: (p_fin_plan_type_id IS NULL)
428: THEN
429:
430: IF l_debug_mode = 'Y' THEN
431: pa_debug.g_err_stage:='Project_id = '||p_project_id;
432: pa_fp_gen_amount_utils.fp_debug
433: (p_msg => pa_debug.g_err_stage,
434: p_module_name => l_module_name,
435: p_log_level => 5);
429:
430: IF l_debug_mode = 'Y' THEN
431: pa_debug.g_err_stage:='Project_id = '||p_project_id;
432: pa_fp_gen_amount_utils.fp_debug
433: (p_msg => pa_debug.g_err_stage,
434: p_module_name => l_module_name,
435: p_log_level => 5);
436:
437: pa_debug.g_err_stage:='Fin_plan_type_id = '||p_fin_plan_type_id;
433: (p_msg => pa_debug.g_err_stage,
434: p_module_name => l_module_name,
435: p_log_level => 5);
436:
437: pa_debug.g_err_stage:='Fin_plan_type_id = '||p_fin_plan_type_id;
438: pa_fp_gen_amount_utils.fp_debug
439: (p_msg => pa_debug.g_err_stage,
440: p_module_name => l_module_name,
441: p_log_level => 5);
435: p_log_level => 5);
436:
437: pa_debug.g_err_stage:='Fin_plan_type_id = '||p_fin_plan_type_id;
438: pa_fp_gen_amount_utils.fp_debug
439: (p_msg => pa_debug.g_err_stage,
440: p_module_name => l_module_name,
441: p_log_level => 5);
442: END IF;
443:
450:
451: --Fetch fin plan preference code
452:
453: IF l_debug_mode = 'Y' THEN
454: pa_debug.g_err_stage:='Fetching fin plan preference code ';
455: pa_fp_gen_amount_utils.fp_debug
456: (p_msg => pa_debug.g_err_stage,
457: p_module_name => l_module_name,
458: p_log_level => 5);
452:
453: IF l_debug_mode = 'Y' THEN
454: pa_debug.g_err_stage:='Fetching fin plan preference code ';
455: pa_fp_gen_amount_utils.fp_debug
456: (p_msg => pa_debug.g_err_stage,
457: p_module_name => l_module_name,
458: p_log_level => 5);
459: END IF;
460:
471:
472: --In this case version_type should be passed and so raise error
473:
474: IF l_debug_mode = 'Y' THEN
475: pa_debug.g_err_stage:='Version_Type = '||p_version_type;
476: pa_fp_gen_amount_utils.fp_debug
477: (p_msg => pa_debug.g_err_stage,
478: p_module_name => l_module_name,
479: p_log_level => 5);
473:
474: IF l_debug_mode = 'Y' THEN
475: pa_debug.g_err_stage:='Version_Type = '||p_version_type;
476: pa_fp_gen_amount_utils.fp_debug
477: (p_msg => pa_debug.g_err_stage,
478: p_module_name => l_module_name,
479: p_log_level => 5);
480: END IF;
481:
486:
487: END IF;
488:
489: IF l_debug_mode = 'Y' THEN
490: pa_debug.g_err_stage:='Parameter validation complete ';
491: pa_fp_gen_amount_utils.fp_debug
492: (p_msg => pa_debug.g_err_stage,
493: p_module_name => l_module_name,
494: p_log_level => 5);
488:
489: IF l_debug_mode = 'Y' THEN
490: pa_debug.g_err_stage:='Parameter validation complete ';
491: pa_fp_gen_amount_utils.fp_debug
492: (p_msg => pa_debug.g_err_stage,
493: p_module_name => l_module_name,
494: p_log_level => 5);
495: END IF;
496:
521:
522: BEGIN
523:
524: IF l_debug_mode = 'Y' THEN
525: pa_debug.g_err_stage:='Fetching current original Version';
526: pa_fp_gen_amount_utils.fp_debug
527: (p_msg => pa_debug.g_err_stage,
528: p_module_name => l_module_name,
529: p_log_level => 5);
523:
524: IF l_debug_mode = 'Y' THEN
525: pa_debug.g_err_stage:='Fetching current original Version';
526: pa_fp_gen_amount_utils.fp_debug
527: (p_msg => pa_debug.g_err_stage,
528: p_module_name => l_module_name,
529: p_log_level => 5);
530: END IF;
531:
553:
554: --Fetch fp options id using plan version id
555:
556: IF l_debug_mode = 'Y' THEN
557: pa_debug.g_err_stage:='Fetching fp option id';
558: pa_fp_gen_amount_utils.fp_debug
559: (p_msg => pa_debug.g_err_stage,
560: p_module_name => l_module_name,
561: p_log_level => 5);
555:
556: IF l_debug_mode = 'Y' THEN
557: pa_debug.g_err_stage:='Fetching fp option id';
558: pa_fp_gen_amount_utils.fp_debug
559: (p_msg => pa_debug.g_err_stage,
560: p_module_name => l_module_name,
561: p_log_level => 5);
562: END IF;
563:
579: x_fin_plan_version_id := l_current_original_version_id;
580: x_fp_options_id := l_fp_options_id;
581:
582: IF l_debug_mode = 'Y' THEN
583: pa_debug.g_err_stage:='Exiting Get_Curr_Original_Version_Info';
584: pa_fp_gen_amount_utils.fp_debug
585: (p_msg => pa_debug.g_err_stage,
586: p_module_name => l_module_name,
587: p_log_level => 5);
581:
582: IF l_debug_mode = 'Y' THEN
583: pa_debug.g_err_stage:='Exiting Get_Curr_Original_Version_Info';
584: pa_fp_gen_amount_utils.fp_debug
585: (p_msg => pa_debug.g_err_stage,
586: p_module_name => l_module_name,
587: p_log_level => 5);
588: PA_DEBUG.Reset_Curr_Function;
589: END IF;
584: pa_fp_gen_amount_utils.fp_debug
585: (p_msg => pa_debug.g_err_stage,
586: p_module_name => l_module_name,
587: p_log_level => 5);
588: PA_DEBUG.Reset_Curr_Function;
589: END IF;
590:
591: EXCEPTION
592:
609:
610: x_return_status := FND_API.G_RET_STS_ERROR;
611:
612: IF l_debug_mode = 'Y' THEN
613: pa_debug.g_err_stage:='Invalid Arguments Passed';
614: pa_fp_gen_amount_utils.fp_debug
615: (p_msg => pa_debug.g_err_stage,
616: p_module_name => l_module_name,
617: p_log_level => 5);
611:
612: IF l_debug_mode = 'Y' THEN
613: pa_debug.g_err_stage:='Invalid Arguments Passed';
614: pa_fp_gen_amount_utils.fp_debug
615: (p_msg => pa_debug.g_err_stage,
616: p_module_name => l_module_name,
617: p_log_level => 5);
618:
619: -- reset error stack
616: p_module_name => l_module_name,
617: p_log_level => 5);
618:
619: -- reset error stack
620: PA_DEBUG.Reset_Curr_Function;
621: END IF;
622: RETURN;
623:
624: WHEN Others THEN
633: pa_fp_gen_amount_utils.fp_debug
634: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
635: p_module_name => l_module_name,
636: p_log_level => 5);
637: PA_DEBUG.Reset_Curr_Function;
638: END IF;
639: RAISE;
640: END Get_Curr_Original_Version_Info;
641:
657:
658: X_MSG_COUNT := 0;
659: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
660:
661: IF p_pa_debug_mode = 'Y' THEN
662: pa_debug.set_curr_function( p_function => 'VALIDATE_PLAN_VERSION'
663: ,p_debug_mode => p_pa_debug_mode);
664: END IF;
665:
658: X_MSG_COUNT := 0;
659: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
660:
661: IF p_pa_debug_mode = 'Y' THEN
662: pa_debug.set_curr_function( p_function => 'VALIDATE_PLAN_VERSION'
663: ,p_debug_mode => p_pa_debug_mode);
664: END IF;
665:
666: --Calling the Util API
659: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
660:
661: IF p_pa_debug_mode = 'Y' THEN
662: pa_debug.set_curr_function( p_function => 'VALIDATE_PLAN_VERSION'
663: ,p_debug_mode => p_pa_debug_mode);
664: END IF;
665:
666: --Calling the Util API
667: IF p_pa_debug_mode = 'Y' THEN
663: ,p_debug_mode => p_pa_debug_mode);
664: END IF;
665:
666: --Calling the Util API
667: IF p_pa_debug_mode = 'Y' THEN
668: pa_fp_gen_amount_utils.fp_debug
669: (p_msg => 'Before calling
670: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
671: p_module_name => l_module_name,
680: X_MSG_DATA => X_MSG_DATA);
681: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
682: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
683: END IF;
684: IF p_pa_debug_mode = 'Y' THEN
685: pa_fp_gen_amount_utils.fp_debug
686: (p_msg => 'Status after calling
687: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
688: ||x_return_status,
696: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
697: p_msg_name => 'PA_FP_INV_TIME_PHASE_CODE');
698: END IF;
699:
700: IF p_pa_debug_mode = 'Y' THEN
701: PA_DEBUG.Reset_Curr_Function;
702: END IF;
703:
704:
697: p_msg_name => 'PA_FP_INV_TIME_PHASE_CODE');
698: END IF;
699:
700: IF p_pa_debug_mode = 'Y' THEN
701: PA_DEBUG.Reset_Curr_Function;
702: END IF;
703:
704:
705: EXCEPTION
709: x_msg_data := SUBSTR(SQLERRM,1,240);
710: FND_MSG_PUB.add_exc_msg
711: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
712: ,p_procedure_name => 'VALIDATE_PLAN_VERSION');
713: IF p_pa_debug_mode = 'Y' THEN
714: PA_DEBUG.Reset_Curr_Function;
715: END IF;
716: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
717:
710: FND_MSG_PUB.add_exc_msg
711: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
712: ,p_procedure_name => 'VALIDATE_PLAN_VERSION');
713: IF p_pa_debug_mode = 'Y' THEN
714: PA_DEBUG.Reset_Curr_Function;
715: END IF;
716: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
717:
718:
969:
970: X_MSG_COUNT := 0;
971: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
972:
973: IF p_pa_debug_mode = 'Y' THEN
974: pa_debug.set_curr_function( p_function => 'GET_VALUES_FOR_PLANNING_RATE'
975: ,p_debug_mode => p_pa_debug_mode);
976: END IF;
977:
970: X_MSG_COUNT := 0;
971: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
972:
973: IF p_pa_debug_mode = 'Y' THEN
974: pa_debug.set_curr_function( p_function => 'GET_VALUES_FOR_PLANNING_RATE'
975: ,p_debug_mode => p_pa_debug_mode);
976: END IF;
977:
978:
971: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
972:
973: IF p_pa_debug_mode = 'Y' THEN
974: pa_debug.set_curr_function( p_function => 'GET_VALUES_FOR_PLANNING_RATE'
975: ,p_debug_mode => p_pa_debug_mode);
976: END IF;
977:
978:
979: OPEN get_resource_asn_csr(p_resource_assignment_id);
1114: l_txn_currency_code := l_txn_currency_code_override;
1115: END IF;
1116:
1117: --Calling the Get_planning_Rates api
1118: IF p_pa_debug_mode = 'Y' THEN
1119: pa_fp_gen_amount_utils.fp_debug
1120: (p_called_mode => p_called_mode,
1121: p_msg => 'Before calling
1122: pa_plan_revenue.Get_planning_Rates',
1215: ,x_msg_count => x_msg_count);
1216: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
1217: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1218: END IF;
1219: IF p_pa_debug_mode = 'Y' THEN
1220: pa_fp_gen_amount_utils.fp_debug
1221: (p_called_mode => p_called_mode,
1222: p_msg => 'Status after calling
1223: pa_plan_revenue.Get_planning_Rates'
1228: --dbms_output.put_line('Status of Get_planning_Rates api: '||X_RETURN_STATUS);
1229:
1230: */
1231:
1232: IF p_pa_debug_mode = 'Y' THEN
1233: PA_DEBUG.Reset_Curr_Function;
1234: END IF;
1235:
1236: EXCEPTION
1229:
1230: */
1231:
1232: IF p_pa_debug_mode = 'Y' THEN
1233: PA_DEBUG.Reset_Curr_Function;
1234: END IF;
1235:
1236: EXCEPTION
1237: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
1251: END IF;
1252: ROLLBACK;
1253:
1254: x_return_status := FND_API.G_RET_STS_ERROR;
1255: IF P_PA_DEBUG_MODE = 'Y' THEN
1256: pa_fp_gen_amount_utils.fp_debug
1257: (p_msg => 'Invalid Arguments Passed',
1258: p_module_name => l_module_name,
1259: p_log_level => 5);
1256: pa_fp_gen_amount_utils.fp_debug
1257: (p_msg => 'Invalid Arguments Passed',
1258: p_module_name => l_module_name,
1259: p_log_level => 5);
1260: PA_DEBUG.Reset_Curr_Function;
1261: END IF;
1262: RAISE;
1263:
1264: WHEN OTHERS THEN
1268: x_msg_data := SUBSTR(SQLERRM,1,240);
1269: FND_MSG_PUB.add_exc_msg
1270: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
1271: ,p_procedure_name => 'GET_VALUES_FOR_PLANNING_RATE');
1272: IF p_pa_debug_mode = 'Y' THEN
1273: PA_DEBUG.Reset_Curr_Function;
1274: END IF;
1275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1276:
1269: FND_MSG_PUB.add_exc_msg
1270: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
1271: ,p_procedure_name => 'GET_VALUES_FOR_PLANNING_RATE');
1272: IF p_pa_debug_mode = 'Y' THEN
1273: PA_DEBUG.Reset_Curr_Function;
1274: END IF;
1275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1276:
1277: END GET_VALUES_FOR_PLANNING_RATE;
1281: P_MSG IN VARCHAR2,
1282: P_MODULE_NAME IN VARCHAR2,
1283: P_LOG_LEVEL IN NUMBER) IS
1284: BEGIN
1285: pa_debug.g_err_stage := p_msg;
1286: IF p_called_mode = 'SELF_SERVICE' THEN
1287: pa_debug.write
1288: (x_module => p_module_name,
1289: x_msg => pa_debug.g_err_stage,
1283: P_LOG_LEVEL IN NUMBER) IS
1284: BEGIN
1285: pa_debug.g_err_stage := p_msg;
1286: IF p_called_mode = 'SELF_SERVICE' THEN
1287: pa_debug.write
1288: (x_module => p_module_name,
1289: x_msg => pa_debug.g_err_stage,
1290: x_log_level=> p_log_level);
1291: ELSIF p_called_mode = 'CONCURRENT' THEN
1285: pa_debug.g_err_stage := p_msg;
1286: IF p_called_mode = 'SELF_SERVICE' THEN
1287: pa_debug.write
1288: (x_module => p_module_name,
1289: x_msg => pa_debug.g_err_stage,
1290: x_log_level=> p_log_level);
1291: ELSIF p_called_mode = 'CONCURRENT' THEN
1292: pa_debug.write_file(x_msg => pa_debug.g_err_stage);
1293: END IF;
1288: (x_module => p_module_name,
1289: x_msg => pa_debug.g_err_stage,
1290: x_log_level=> p_log_level);
1291: ELSIF p_called_mode = 'CONCURRENT' THEN
1292: pa_debug.write_file(x_msg => pa_debug.g_err_stage);
1293: END IF;
1294:
1295: END FP_DEBUG;
1296:
1519: l_src_prl_flag1 VARCHAR2(1);
1520: l_trg_prl_flag VARCHAR2(1);
1521: l_source_budget_ver_id PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE;
1522: BEGIN
1523: IF p_pa_debug_mode = 'Y' THEN
1524: pa_debug.set_curr_function( p_function => 'VALIDATE_SUPPORT_CASES',
1525: p_debug_mode => p_pa_debug_mode);
1526: END IF;
1527: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1520: l_trg_prl_flag VARCHAR2(1);
1521: l_source_budget_ver_id PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE;
1522: BEGIN
1523: IF p_pa_debug_mode = 'Y' THEN
1524: pa_debug.set_curr_function( p_function => 'VALIDATE_SUPPORT_CASES',
1525: p_debug_mode => p_pa_debug_mode);
1526: END IF;
1527: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1528: X_MSG_COUNT := 0;
1521: l_source_budget_ver_id PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE;
1522: BEGIN
1523: IF p_pa_debug_mode = 'Y' THEN
1524: pa_debug.set_curr_function( p_function => 'VALIDATE_SUPPORT_CASES',
1525: p_debug_mode => p_pa_debug_mode);
1526: END IF;
1527: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1528: X_MSG_COUNT := 0;
1529: X_WARNING_MESSAGE := NULL;
1563: l_stru_sharing_code = 'SHARE_FULL' AND
1564: l_default_bdgt_src_ver_flag = 'Y' AND
1565: l_fp_cols_rec_tgt.X_GEN_SRC_WP_VERSION_ID IS NULL THEN
1566:
1567: IF p_pa_debug_mode = 'Y' THEN
1568: pa_fp_gen_amount_utils.fp_debug
1569: (p_called_mode => p_calling_context,
1570: p_msg => 'Before calling
1571: PA_FP_GEN_AMOUNT_UTILS.DEFAULT_BDGT_SRC_VER',
1580: X_FP_COLS_REC_TGT => x_fp_cols_rec_tgt,
1581: X_RETURN_STATUS => X_RETURN_STATUS,
1582: X_MSG_COUNT => X_MSG_COUNT,
1583: X_MSG_DATA => X_MSG_DATA );
1584: IF p_pa_debug_mode = 'Y' THEN
1585: pa_fp_gen_amount_utils.fp_debug
1586: (p_called_mode => p_calling_context,
1587: p_msg => 'Status after calling
1588: PA_FP_GEN_AMOUNT_UTILS.DEFAULT_BDGT_SRC_VER: '
1605: IF l_fp_cols_rec_tgt.x_version_type = 'COST' AND
1606: l_source_wp_ver_id IS NOT NULL AND
1607: l_stru_sharing_code = 'SHARE_FULL' THEN
1608: /* Get version details for Source Workplan */
1609: IF p_pa_debug_mode = 'Y' THEN
1610: pa_fp_gen_amount_utils.fp_debug
1611: (p_called_mode => p_calling_context,
1612: p_msg => 'Before calling
1613: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
1620: X_FP_COLS_REC => l_fp_cols_rec_source,
1621: X_RETURN_STATUS => X_RETURN_STATUS,
1622: X_MSG_COUNT => X_MSG_COUNT,
1623: X_MSG_DATA => X_MSG_DATA );
1624: IF p_pa_debug_mode = 'Y' THEN
1625: pa_fp_gen_amount_utils.fp_debug
1626: (p_called_mode => p_calling_context,
1627: p_msg => 'Status after calling
1628: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
1797: IF l_gen_src_code = 'WORKPLAN_RESOURCES' OR
1798: (l_gen_src_code = 'TASK_LEVEL_SEL' AND l_count > 0) THEN
1799:
1800: /* Get version details for Source Workplan */
1801: IF p_pa_debug_mode = 'Y' THEN
1802: pa_fp_gen_amount_utils.fp_debug
1803: (p_called_mode => p_calling_context,
1804: p_msg => 'Before calling
1805: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
1812: X_FP_COLS_REC => l_fp_cols_rec_source,
1813: X_RETURN_STATUS => X_RETURN_STATUS,
1814: X_MSG_COUNT => X_MSG_COUNT,
1815: X_MSG_DATA => X_MSG_DATA);
1816: IF p_pa_debug_mode = 'Y' THEN
1817: pa_fp_gen_amount_utils.fp_debug
1818: (p_called_mode => p_calling_context,
1819: p_msg => 'Status after calling
1820: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
1850: IF l_gen_src_code = 'FINANCIAL_PLAN' OR
1851: (l_gen_src_code = 'TASK_LEVEL_SEL' AND l_count > 0) THEN
1852:
1853: -- Get version details for Source Financial Plan
1854: IF p_pa_debug_mode = 'Y' THEN
1855: pa_fp_gen_amount_utils.fp_debug
1856: (p_called_mode => p_calling_context,
1857: p_msg => 'Before calling
1858: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
1865: X_FP_COLS_REC => l_fp_cols_rec_source,
1866: X_RETURN_STATUS => X_RETURN_STATUS,
1867: X_MSG_COUNT => X_MSG_COUNT,
1868: X_MSG_DATA => X_MSG_DATA);
1869: IF p_pa_debug_mode = 'Y' THEN
1870: pa_fp_gen_amount_utils.fp_debug
1871: (p_called_mode => p_calling_context,
1872: p_msg => 'Status after calling
1873: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
1905: IF l_default_bdgt_src_ver_flag = 'Y' AND
1906: l_fp_cols_rec_tgt.X_GEN_SRC_WP_VERSION_ID IS NULL AND
1907: l_fp_cols_rec_tgt.X_GEN_SRC_PLAN_VERSION_ID IS NULL THEN
1908:
1909: IF p_pa_debug_mode = 'Y' THEN
1910: pa_fp_gen_amount_utils.fp_debug
1911: (p_called_mode => p_calling_context,
1912: p_msg => 'Before calling
1913: PA_FP_GEN_AMOUNT_UTILS.DEFAULT_BDGT_SRC_VER',
1922: X_FP_COLS_REC_TGT => x_fp_cols_rec_tgt,
1923: X_RETURN_STATUS => X_RETURN_STATUS,
1924: X_MSG_COUNT => X_MSG_COUNT,
1925: X_MSG_DATA => X_MSG_DATA );
1926: IF p_pa_debug_mode = 'Y' THEN
1927: pa_fp_gen_amount_utils.fp_debug
1928: (p_called_mode => p_calling_context,
1929: p_msg => 'Status after calling
1930: PA_FP_GEN_AMOUNT_UTILS.DEFAULT_BDGT_SRC_VER: '
2179: AND l_gen_src_code = 'FINANCIAL_PLAN'
2180: AND l_fp_cols_rec_tgt.X_VERSION_TYPE IN ('REVENUE','ALL')) THEN
2181:
2182: -- Get version details for Source Financial Plan
2183: IF p_pa_debug_mode = 'Y' THEN
2184: pa_fp_gen_amount_utils.fp_debug
2185: (p_called_mode => p_calling_context,
2186: p_msg => 'Before calling
2187: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
2194: X_FP_COLS_REC => l_fp_cols_rec_source,
2195: X_RETURN_STATUS => X_RETURN_STATUS,
2196: X_MSG_COUNT => X_MSG_COUNT,
2197: X_MSG_DATA => X_MSG_DATA);
2198: IF p_pa_debug_mode = 'Y' THEN
2199: pa_fp_gen_amount_utils.fp_debug
2200: (p_called_mode => p_calling_context,
2201: p_msg => 'Status after calling
2202: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
2234: -- 1) This API was called with non-empty message stack.
2235: -- 2) This API pushed multiple messages onto the stack.
2236: -- In both cases, we should only have 1 message on the stack.
2237: IF l_msg_count <> 1 THEN
2238: IF P_PA_DEBUG_MODE = 'Y' THEN
2239: pa_fp_gen_amount_utils.fp_debug
2240: ( p_called_mode => p_calling_context,
2241: p_msg => 'Source data contains errors, but the number of ' ||
2242: 'messages on the error stack is not equal to 1.',
2253: --p_msg_data => l_msg_data ,
2254: p_data => X_WARNING_MESSAGE,
2255: p_msg_index_out => l_msg_index_out);
2256:
2257: IF P_PA_DEBUG_MODE = 'Y' THEN
2258: PA_DEBUG.RESET_CURR_FUNCTION;
2259: END IF;
2260:
2261: ROLLBACK;
2254: p_data => X_WARNING_MESSAGE,
2255: p_msg_index_out => l_msg_index_out);
2256:
2257: IF P_PA_DEBUG_MODE = 'Y' THEN
2258: PA_DEBUG.RESET_CURR_FUNCTION;
2259: END IF;
2260:
2261: ROLLBACK;
2262: RETURN;
2263: END IF;
2264:
2265: END IF; -- P_CHECK_SRC_ERRORS_FLAG check
2266:
2267: IF P_PA_DEBUG_MODE = 'Y' THEN
2268: PA_DEBUG.RESET_CURR_FUNCTION;
2269: END IF;
2270: EXCEPTION
2271: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2264:
2265: END IF; -- P_CHECK_SRC_ERRORS_FLAG check
2266:
2267: IF P_PA_DEBUG_MODE = 'Y' THEN
2268: PA_DEBUG.RESET_CURR_FUNCTION;
2269: END IF;
2270: EXCEPTION
2271: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2272: l_msg_count := FND_MSG_PUB.count_msg;
2285: END IF;
2286:
2287: x_return_status := FND_API.G_RET_STS_ERROR;
2288:
2289: IF P_PA_DEBUG_MODE = 'Y' THEN
2290: pa_fp_gen_amount_utils.fp_debug
2291: ( p_called_mode => p_calling_context,
2292: p_msg => 'Invalid Arguments Passed',
2293: p_module_name => l_module_name,
2291: ( p_called_mode => p_calling_context,
2292: p_msg => 'Invalid Arguments Passed',
2293: p_module_name => l_module_name,
2294: p_log_level => 5 );
2295: PA_DEBUG.RESET_CURR_FUNCTION;
2296: END IF;
2297:
2298: ROLLBACK;
2299: RAISE;
2306: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS',
2307: p_procedure_name => 'VALIDATE_SUPPORT_CASES',
2308: p_error_text => substr(sqlerrm,1,240));
2309:
2310: IF P_PA_DEBUG_MODE = 'Y' THEN
2311: pa_fp_gen_amount_utils.fp_debug
2312: (p_called_mode => p_calling_context,
2313: p_msg => 'Unexpected Error'||substr(sqlerrm,1,240),
2314: p_module_name => l_module_name,
2312: (p_called_mode => p_calling_context,
2313: p_msg => 'Unexpected Error'||substr(sqlerrm,1,240),
2314: p_module_name => l_module_name,
2315: p_log_level => 5);
2316: PA_DEBUG.RESET_CURR_FUNCTION;
2317: END IF;
2318: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2319: END VALIDATE_SUPPORT_CASES;
2320:
2373: l_data VARCHAR2(2000);
2374: l_msg_data VARCHAR2(2000);
2375: l_msg_index_out NUMBER;
2376: BEGIN
2377: IF p_pa_debug_mode = 'Y' THEN
2378: pa_debug.set_curr_function
2379: ( p_function => 'DEFAULT_BDGT_SRC_VER',
2380: p_debug_mode => p_pa_debug_mode );
2381: END IF;
2374: l_msg_data VARCHAR2(2000);
2375: l_msg_index_out NUMBER;
2376: BEGIN
2377: IF p_pa_debug_mode = 'Y' THEN
2378: pa_debug.set_curr_function
2379: ( p_function => 'DEFAULT_BDGT_SRC_VER',
2380: p_debug_mode => p_pa_debug_mode );
2381: END IF;
2382:
2376: BEGIN
2377: IF p_pa_debug_mode = 'Y' THEN
2378: pa_debug.set_curr_function
2379: ( p_function => 'DEFAULT_BDGT_SRC_VER',
2380: p_debug_mode => p_pa_debug_mode );
2381: END IF;
2382:
2383: -- Initialize OUT parameters with default values
2384: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2513: OR l_gen_src_plan_ver_code = 'ORIGINAL_BASELINED'
2514: OR l_gen_src_plan_ver_code = 'CURRENT_APPROVED'
2515: OR l_gen_src_plan_ver_code = 'ORIGINAL_APPROVED' THEN
2516: /*Get the current baselined or original baselined version*/
2517: IF P_PA_DEBUG_MODE = 'Y' THEN
2518: pa_fp_gen_amount_utils.fp_debug
2519: ( p_called_mode => p_calling_context,
2520: p_msg => 'Before calling
2521: pa_fp_gen_amount_utils.Get_Curr_Original_Version_Info',
2531: x_fin_plan_version_id => l_source_id,
2532: x_return_status => x_return_status,
2533: x_msg_count => x_msg_count,
2534: x_msg_data => x_msg_data );
2535: IF P_PA_DEBUG_MODE = 'Y' THEN
2536: pa_fp_gen_amount_utils.fp_debug
2537: ( p_called_mode => p_calling_context,
2538: p_msg => 'Status after calling
2539: pa_fp_gen_amount_utils.Get_Curr_Original_Version_Info'
2546: END IF;
2547:
2548: ELSIF l_gen_src_plan_ver_code = 'CURRENT_WORKING' THEN
2549: /*Get the current working version*/
2550: IF P_PA_DEBUG_MODE = 'Y' THEN
2551: pa_fp_gen_amount_utils.fp_debug
2552: ( p_called_mode => p_calling_context,
2553: p_msg => 'Before calling
2554: pa_fin_plan_utils.Get_Curr_Working_Version_Info',
2563: x_fin_plan_version_id => l_source_id,
2564: x_return_status => x_return_status,
2565: x_msg_count => x_msg_count,
2566: x_msg_data => x_msg_data );
2567: IF P_PA_DEBUG_MODE = 'Y' THEN
2568: pa_fp_gen_amount_utils.fp_debug
2569: ( p_called_mode => p_calling_context,
2570: p_msg => 'Status after calling
2571: pa_fin_plan_utils.Get_Curr_Working_Version_Info'
2609:
2610: /* Get updated Target version details */
2611: -- Currently, l_update_details_flag is always 'Y', but may change in the future.
2612: IF l_update_details_flag = 'Y' THEN
2613: IF p_pa_debug_mode = 'Y' THEN
2614: pa_fp_gen_amount_utils.fp_debug
2615: (p_called_mode => p_calling_context,
2616: p_msg => 'Before calling
2617: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
2624: X_FP_COLS_REC => X_FP_COLS_REC_TGT,
2625: X_RETURN_STATUS => X_RETURN_STATUS,
2626: X_MSG_COUNT => X_MSG_COUNT,
2627: X_MSG_DATA => X_MSG_DATA);
2628: IF p_pa_debug_mode = 'Y' THEN
2629: pa_fp_gen_amount_utils.fp_debug
2630: (p_called_mode => p_calling_context,
2631: p_msg => 'Status after calling
2632: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
2640: END IF; -- l_update_details_flag check
2641:
2642: END IF; -- defaulting logic
2643:
2644: IF P_PA_DEBUG_MODE = 'Y' THEN
2645: PA_DEBUG.RESET_CURR_FUNCTION;
2646: END IF;
2647: EXCEPTION
2648: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2641:
2642: END IF; -- defaulting logic
2643:
2644: IF P_PA_DEBUG_MODE = 'Y' THEN
2645: PA_DEBUG.RESET_CURR_FUNCTION;
2646: END IF;
2647: EXCEPTION
2648: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2649: l_msg_count := FND_MSG_PUB.count_msg;
2662: END IF;
2663:
2664: x_return_status := FND_API.G_RET_STS_ERROR;
2665:
2666: IF P_PA_DEBUG_MODE = 'Y' THEN
2667: pa_fp_gen_amount_utils.fp_debug
2668: ( p_called_mode => p_calling_context,
2669: p_msg => 'Invalid Arguments Passed',
2670: p_module_name => l_module_name,
2668: ( p_called_mode => p_calling_context,
2669: p_msg => 'Invalid Arguments Passed',
2670: p_module_name => l_module_name,
2671: p_log_level => 5 );
2672: PA_DEBUG.RESET_CURR_FUNCTION;
2673: END IF;
2674:
2675: ROLLBACK;
2676: RAISE;
2683: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS',
2684: p_procedure_name => 'DEFAULT_BDGT_SRC_VER',
2685: p_error_text => substr(sqlerrm,1,240));
2686:
2687: IF P_PA_DEBUG_MODE = 'Y' THEN
2688: pa_fp_gen_amount_utils.fp_debug
2689: (p_called_mode => p_calling_context,
2690: p_msg => 'Unexpected Error'||substr(sqlerrm,1,240),
2691: p_module_name => l_module_name,
2689: (p_called_mode => p_calling_context,
2690: p_msg => 'Unexpected Error'||substr(sqlerrm,1,240),
2691: p_module_name => l_module_name,
2692: p_log_level => 5);
2693: PA_DEBUG.RESET_CURR_FUNCTION;
2694: END IF;
2695: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2696: END DEFAULT_BDGT_SRC_VER;
2697: --Added for CBS