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:
9: PROCEDURE GET_PLAN_VERSION_DTLS
10: (P_PROJECT_ID IN PA_PROJ_FP_OPTIONS.PROJECT_ID%TYPE,
11: P_BUDGET_VERSION_ID IN PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE,
31: X_MSG_COUNT := 0;
32:
33: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
34:
35: IF p_pa_debug_mode = 'Y' THEN
36: pa_debug.set_curr_function( p_function => 'GET_PLAN_VERSION_DTLS'
37: ,p_debug_mode => p_pa_debug_mode);
38: END IF;
39:
32:
33: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
34:
35: IF p_pa_debug_mode = 'Y' THEN
36: pa_debug.set_curr_function( p_function => 'GET_PLAN_VERSION_DTLS'
37: ,p_debug_mode => p_pa_debug_mode);
38: END IF;
39:
40: --dbms_output.put_line('in utils before select');
33: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
34:
35: IF p_pa_debug_mode = 'Y' THEN
36: pa_debug.set_curr_function( p_function => 'GET_PLAN_VERSION_DTLS'
37: ,p_debug_mode => p_pa_debug_mode);
38: END IF;
39:
40: --dbms_output.put_line('in utils before select');
41:
245: /* Plan_ver_code is selected at PLAN_TYPE instead of PLAN_VERSION */
246:
247: --dbms_output.put_line('in utils after select');
248:
249: IF p_pa_debug_mode = 'Y' THEN
250: PA_DEBUG.Reset_Curr_Function;
251: END IF;
252:
253: EXCEPTION
246:
247: --dbms_output.put_line('in utils after select');
248:
249: IF p_pa_debug_mode = 'Y' THEN
250: PA_DEBUG.Reset_Curr_Function;
251: END IF;
252:
253: EXCEPTION
254: WHEN Invalid_Arg_Exc THEN
253: EXCEPTION
254: WHEN Invalid_Arg_Exc THEN
255: X_MSG_COUNT := FND_MSG_PUB.count_msg;
256: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
257: IF p_pa_debug_mode = 'Y' THEN
258: PA_DEBUG.Reset_Curr_Function;
259: END IF;
260: -- Bug 4621171: Removed RAISE statement.
261:
254: WHEN Invalid_Arg_Exc THEN
255: X_MSG_COUNT := FND_MSG_PUB.count_msg;
256: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
257: IF p_pa_debug_mode = 'Y' THEN
258: PA_DEBUG.Reset_Curr_Function;
259: END IF;
260: -- Bug 4621171: Removed RAISE statement.
261:
262: WHEN OTHERS THEN
264: x_msg_data := SUBSTR(SQLERRM,1,240);
265: FND_MSG_PUB.add_exc_msg
266: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
267: ,p_procedure_name => 'GET_PLAN_VERSION_DTLS');
268: IF P_PA_DEBUG_MODE = 'Y' THEN
269: pa_fp_gen_amount_utils.fp_debug
270: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
271: p_module_name => l_module_name,
272: p_log_level => 5);
269: pa_fp_gen_amount_utils.fp_debug
270: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
271: p_module_name => l_module_name,
272: p_log_level => 5);
273: PA_DEBUG.Reset_Curr_Function;
274: END IF;
275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
276:
277: END GET_PLAN_VERSION_DTLS;
289:
290: X_MSG_COUNT := 0;
291: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
292:
293: IF p_pa_debug_mode = 'Y' THEN
294: pa_debug.set_curr_function( p_function => 'CHK_CMT_TXN_CURRENCY'
295: ,p_debug_mode => p_pa_debug_mode);
296: END IF;
297:
290: X_MSG_COUNT := 0;
291: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
292:
293: IF p_pa_debug_mode = 'Y' THEN
294: pa_debug.set_curr_function( p_function => 'CHK_CMT_TXN_CURRENCY'
295: ,p_debug_mode => p_pa_debug_mode);
296: END IF;
297:
298: BEGIN
291: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
292:
293: IF p_pa_debug_mode = 'Y' THEN
294: pa_debug.set_curr_function( p_function => 'CHK_CMT_TXN_CURRENCY'
295: ,p_debug_mode => p_pa_debug_mode);
296: END IF;
297:
298: BEGIN
299: SELECT 'Y'
306: x_return_status := FND_API.G_RET_STS_ERROR;
307: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
308: p_msg_name => 'PA_FP_CMT_MUL_CURRENCY');
309:
310: IF p_pa_debug_mode = 'Y' THEN
311: PA_DEBUG.Reset_Curr_Function;
312: END IF;
313:
314: EXCEPTION
307: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
308: p_msg_name => 'PA_FP_CMT_MUL_CURRENCY');
309:
310: IF p_pa_debug_mode = 'Y' THEN
311: PA_DEBUG.Reset_Curr_Function;
312: END IF;
313:
314: EXCEPTION
315: WHEN NO_DATA_FOUND THEN
313:
314: EXCEPTION
315: WHEN NO_DATA_FOUND THEN
316: x_return_status := FND_API.G_RET_STS_SUCCESS;
317: IF p_pa_debug_mode = 'Y' THEN
318: PA_DEBUG.Reset_Curr_Function;
319: END IF;
320: WHEN Invalid_Arg_Exc THEN
321: X_MSG_COUNT := FND_MSG_PUB.count_msg;
314: EXCEPTION
315: WHEN NO_DATA_FOUND THEN
316: x_return_status := FND_API.G_RET_STS_SUCCESS;
317: IF p_pa_debug_mode = 'Y' THEN
318: PA_DEBUG.Reset_Curr_Function;
319: END IF;
320: WHEN Invalid_Arg_Exc THEN
321: X_MSG_COUNT := FND_MSG_PUB.count_msg;
322: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
319: END IF;
320: WHEN Invalid_Arg_Exc THEN
321: X_MSG_COUNT := FND_MSG_PUB.count_msg;
322: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
323: IF p_pa_debug_mode = 'Y' THEN
324: PA_DEBUG.Reset_Curr_Function;
325: END IF;
326: RAISE;
327:
320: WHEN Invalid_Arg_Exc THEN
321: X_MSG_COUNT := FND_MSG_PUB.count_msg;
322: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
323: IF p_pa_debug_mode = 'Y' THEN
324: PA_DEBUG.Reset_Curr_Function;
325: END IF;
326: RAISE;
327:
328: WHEN OTHERS THEN
332: x_msg_data := SUBSTR(SQLERRM,1,240);
333: FND_MSG_PUB.add_exc_msg
334: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
335: ,p_procedure_name => 'CHK_CMT_TXN_CURRENCY');
336: IF p_pa_debug_mode = 'Y' THEN
337: PA_DEBUG.Reset_Curr_Function;
338: END IF;
339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
340: END;
333: FND_MSG_PUB.add_exc_msg
334: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
335: ,p_procedure_name => 'CHK_CMT_TXN_CURRENCY');
336: IF p_pa_debug_mode = 'Y' THEN
337: PA_DEBUG.Reset_Curr_Function;
338: END IF;
339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
340: END;
341:
383:
384: x_msg_count := 0;
385: x_return_status := FND_API.G_RET_STS_SUCCESS;
386:
387: IF p_pa_debug_mode = 'Y' THEN
388: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
389: ,p_debug_mode => p_pa_debug_mode);
390: END IF;
391:
384: x_msg_count := 0;
385: x_return_status := FND_API.G_RET_STS_SUCCESS;
386:
387: IF p_pa_debug_mode = 'Y' THEN
388: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
389: ,p_debug_mode => p_pa_debug_mode);
390: END IF;
391:
392: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
385: x_return_status := FND_API.G_RET_STS_SUCCESS;
386:
387: IF p_pa_debug_mode = 'Y' THEN
388: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
389: ,p_debug_mode => p_pa_debug_mode);
390: END IF;
391:
392: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
393: l_debug_mode := NVL(l_debug_mode, 'Y');
388: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
389: ,p_debug_mode => p_pa_debug_mode);
390: END IF;
391:
392: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
393: l_debug_mode := NVL(l_debug_mode, 'Y');
394:
395: -- Check for business rules violations
396:
394:
395: -- Check for business rules violations
396:
397: IF l_debug_mode = 'Y' THEN
398: pa_debug.g_err_stage:='Validating input parameters';
399:
400: pa_fp_gen_amount_utils.fp_debug
401: (p_msg => pa_debug.g_err_stage,
402: p_module_name => l_module_name,
397: IF l_debug_mode = 'Y' THEN
398: pa_debug.g_err_stage:='Validating input parameters';
399:
400: pa_fp_gen_amount_utils.fp_debug
401: (p_msg => pa_debug.g_err_stage,
402: p_module_name => l_module_name,
403: p_log_level => 5);
404: END IF;
405:
407: (p_fin_plan_type_id IS NULL)
408: THEN
409:
410: IF l_debug_mode = 'Y' THEN
411: pa_debug.g_err_stage:='Project_id = '||p_project_id;
412: pa_fp_gen_amount_utils.fp_debug
413: (p_msg => pa_debug.g_err_stage,
414: p_module_name => l_module_name,
415: p_log_level => 5);
409:
410: IF l_debug_mode = 'Y' THEN
411: pa_debug.g_err_stage:='Project_id = '||p_project_id;
412: pa_fp_gen_amount_utils.fp_debug
413: (p_msg => pa_debug.g_err_stage,
414: p_module_name => l_module_name,
415: p_log_level => 5);
416:
417: pa_debug.g_err_stage:='Fin_plan_type_id = '||p_fin_plan_type_id;
413: (p_msg => pa_debug.g_err_stage,
414: p_module_name => l_module_name,
415: p_log_level => 5);
416:
417: pa_debug.g_err_stage:='Fin_plan_type_id = '||p_fin_plan_type_id;
418: pa_fp_gen_amount_utils.fp_debug
419: (p_msg => pa_debug.g_err_stage,
420: p_module_name => l_module_name,
421: p_log_level => 5);
415: p_log_level => 5);
416:
417: pa_debug.g_err_stage:='Fin_plan_type_id = '||p_fin_plan_type_id;
418: pa_fp_gen_amount_utils.fp_debug
419: (p_msg => pa_debug.g_err_stage,
420: p_module_name => l_module_name,
421: p_log_level => 5);
422: END IF;
423:
430:
431: --Fetch fin plan preference code
432:
433: IF l_debug_mode = 'Y' THEN
434: pa_debug.g_err_stage:='Fetching fin plan preference code ';
435: pa_fp_gen_amount_utils.fp_debug
436: (p_msg => pa_debug.g_err_stage,
437: p_module_name => l_module_name,
438: p_log_level => 5);
432:
433: IF l_debug_mode = 'Y' THEN
434: pa_debug.g_err_stage:='Fetching fin plan preference code ';
435: pa_fp_gen_amount_utils.fp_debug
436: (p_msg => pa_debug.g_err_stage,
437: p_module_name => l_module_name,
438: p_log_level => 5);
439: END IF;
440:
451:
452: --In this case version_type should be passed and so raise error
453:
454: IF l_debug_mode = 'Y' THEN
455: pa_debug.g_err_stage:='Version_Type = '||p_version_type;
456: pa_fp_gen_amount_utils.fp_debug
457: (p_msg => pa_debug.g_err_stage,
458: p_module_name => l_module_name,
459: p_log_level => 5);
453:
454: IF l_debug_mode = 'Y' THEN
455: pa_debug.g_err_stage:='Version_Type = '||p_version_type;
456: pa_fp_gen_amount_utils.fp_debug
457: (p_msg => pa_debug.g_err_stage,
458: p_module_name => l_module_name,
459: p_log_level => 5);
460: END IF;
461:
466:
467: END IF;
468:
469: IF l_debug_mode = 'Y' THEN
470: pa_debug.g_err_stage:='Parameter validation complete ';
471: pa_fp_gen_amount_utils.fp_debug
472: (p_msg => pa_debug.g_err_stage,
473: p_module_name => l_module_name,
474: p_log_level => 5);
468:
469: IF l_debug_mode = 'Y' THEN
470: pa_debug.g_err_stage:='Parameter validation complete ';
471: pa_fp_gen_amount_utils.fp_debug
472: (p_msg => pa_debug.g_err_stage,
473: p_module_name => l_module_name,
474: p_log_level => 5);
475: END IF;
476:
501:
502: BEGIN
503:
504: IF l_debug_mode = 'Y' THEN
505: pa_debug.g_err_stage:='Fetching current original Version';
506: pa_fp_gen_amount_utils.fp_debug
507: (p_msg => pa_debug.g_err_stage,
508: p_module_name => l_module_name,
509: p_log_level => 5);
503:
504: IF l_debug_mode = 'Y' THEN
505: pa_debug.g_err_stage:='Fetching current original Version';
506: pa_fp_gen_amount_utils.fp_debug
507: (p_msg => pa_debug.g_err_stage,
508: p_module_name => l_module_name,
509: p_log_level => 5);
510: END IF;
511:
533:
534: --Fetch fp options id using plan version id
535:
536: IF l_debug_mode = 'Y' THEN
537: pa_debug.g_err_stage:='Fetching fp option id';
538: pa_fp_gen_amount_utils.fp_debug
539: (p_msg => pa_debug.g_err_stage,
540: p_module_name => l_module_name,
541: p_log_level => 5);
535:
536: IF l_debug_mode = 'Y' THEN
537: pa_debug.g_err_stage:='Fetching fp option id';
538: pa_fp_gen_amount_utils.fp_debug
539: (p_msg => pa_debug.g_err_stage,
540: p_module_name => l_module_name,
541: p_log_level => 5);
542: END IF;
543:
559: x_fin_plan_version_id := l_current_original_version_id;
560: x_fp_options_id := l_fp_options_id;
561:
562: IF l_debug_mode = 'Y' THEN
563: pa_debug.g_err_stage:='Exiting Get_Curr_Original_Version_Info';
564: pa_fp_gen_amount_utils.fp_debug
565: (p_msg => pa_debug.g_err_stage,
566: p_module_name => l_module_name,
567: p_log_level => 5);
561:
562: IF l_debug_mode = 'Y' THEN
563: pa_debug.g_err_stage:='Exiting Get_Curr_Original_Version_Info';
564: pa_fp_gen_amount_utils.fp_debug
565: (p_msg => pa_debug.g_err_stage,
566: p_module_name => l_module_name,
567: p_log_level => 5);
568: PA_DEBUG.Reset_Curr_Function;
569: END IF;
564: pa_fp_gen_amount_utils.fp_debug
565: (p_msg => pa_debug.g_err_stage,
566: p_module_name => l_module_name,
567: p_log_level => 5);
568: PA_DEBUG.Reset_Curr_Function;
569: END IF;
570:
571: EXCEPTION
572:
589:
590: x_return_status := FND_API.G_RET_STS_ERROR;
591:
592: IF l_debug_mode = 'Y' THEN
593: pa_debug.g_err_stage:='Invalid Arguments Passed';
594: pa_fp_gen_amount_utils.fp_debug
595: (p_msg => pa_debug.g_err_stage,
596: p_module_name => l_module_name,
597: p_log_level => 5);
591:
592: IF l_debug_mode = 'Y' THEN
593: pa_debug.g_err_stage:='Invalid Arguments Passed';
594: pa_fp_gen_amount_utils.fp_debug
595: (p_msg => pa_debug.g_err_stage,
596: p_module_name => l_module_name,
597: p_log_level => 5);
598:
599: -- reset error stack
596: p_module_name => l_module_name,
597: p_log_level => 5);
598:
599: -- reset error stack
600: PA_DEBUG.Reset_Curr_Function;
601: END IF;
602: RETURN;
603:
604: WHEN Others THEN
613: pa_fp_gen_amount_utils.fp_debug
614: (p_msg => 'Unexpected Error'||substr(sqlerrm, 1, 240),
615: p_module_name => l_module_name,
616: p_log_level => 5);
617: PA_DEBUG.Reset_Curr_Function;
618: END IF;
619: RAISE;
620: END Get_Curr_Original_Version_Info;
621:
637:
638: X_MSG_COUNT := 0;
639: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
640:
641: IF p_pa_debug_mode = 'Y' THEN
642: pa_debug.set_curr_function( p_function => 'VALIDATE_PLAN_VERSION'
643: ,p_debug_mode => p_pa_debug_mode);
644: END IF;
645:
638: X_MSG_COUNT := 0;
639: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
640:
641: IF p_pa_debug_mode = 'Y' THEN
642: pa_debug.set_curr_function( p_function => 'VALIDATE_PLAN_VERSION'
643: ,p_debug_mode => p_pa_debug_mode);
644: END IF;
645:
646: --Calling the Util API
639: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
640:
641: IF p_pa_debug_mode = 'Y' THEN
642: pa_debug.set_curr_function( p_function => 'VALIDATE_PLAN_VERSION'
643: ,p_debug_mode => p_pa_debug_mode);
644: END IF;
645:
646: --Calling the Util API
647: IF p_pa_debug_mode = 'Y' THEN
643: ,p_debug_mode => p_pa_debug_mode);
644: END IF;
645:
646: --Calling the Util API
647: IF p_pa_debug_mode = 'Y' THEN
648: pa_fp_gen_amount_utils.fp_debug
649: (p_msg => 'Before calling
650: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
651: p_module_name => l_module_name,
660: X_MSG_DATA => X_MSG_DATA);
661: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
662: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
663: END IF;
664: IF p_pa_debug_mode = 'Y' THEN
665: pa_fp_gen_amount_utils.fp_debug
666: (p_msg => 'Status after calling
667: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
668: ||x_return_status,
676: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
677: p_msg_name => 'PA_FP_INV_TIME_PHASE_CODE');
678: END IF;
679:
680: IF p_pa_debug_mode = 'Y' THEN
681: PA_DEBUG.Reset_Curr_Function;
682: END IF;
683:
684:
677: p_msg_name => 'PA_FP_INV_TIME_PHASE_CODE');
678: END IF;
679:
680: IF p_pa_debug_mode = 'Y' THEN
681: PA_DEBUG.Reset_Curr_Function;
682: END IF;
683:
684:
685: EXCEPTION
689: x_msg_data := SUBSTR(SQLERRM,1,240);
690: FND_MSG_PUB.add_exc_msg
691: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
692: ,p_procedure_name => 'VALIDATE_PLAN_VERSION');
693: IF p_pa_debug_mode = 'Y' THEN
694: PA_DEBUG.Reset_Curr_Function;
695: END IF;
696: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
697:
690: FND_MSG_PUB.add_exc_msg
691: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
692: ,p_procedure_name => 'VALIDATE_PLAN_VERSION');
693: IF p_pa_debug_mode = 'Y' THEN
694: PA_DEBUG.Reset_Curr_Function;
695: END IF;
696: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
697:
698:
949:
950: X_MSG_COUNT := 0;
951: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
952:
953: IF p_pa_debug_mode = 'Y' THEN
954: pa_debug.set_curr_function( p_function => 'GET_VALUES_FOR_PLANNING_RATE'
955: ,p_debug_mode => p_pa_debug_mode);
956: END IF;
957:
950: X_MSG_COUNT := 0;
951: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
952:
953: IF p_pa_debug_mode = 'Y' THEN
954: pa_debug.set_curr_function( p_function => 'GET_VALUES_FOR_PLANNING_RATE'
955: ,p_debug_mode => p_pa_debug_mode);
956: END IF;
957:
958:
951: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
952:
953: IF p_pa_debug_mode = 'Y' THEN
954: pa_debug.set_curr_function( p_function => 'GET_VALUES_FOR_PLANNING_RATE'
955: ,p_debug_mode => p_pa_debug_mode);
956: END IF;
957:
958:
959: OPEN get_resource_asn_csr(p_resource_assignment_id);
1094: l_txn_currency_code := l_txn_currency_code_override;
1095: END IF;
1096:
1097: --Calling the Get_planning_Rates api
1098: IF p_pa_debug_mode = 'Y' THEN
1099: pa_fp_gen_amount_utils.fp_debug
1100: (p_called_mode => p_called_mode,
1101: p_msg => 'Before calling
1102: pa_plan_revenue.Get_planning_Rates',
1195: ,x_msg_count => x_msg_count);
1196: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
1197: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1198: END IF;
1199: IF p_pa_debug_mode = 'Y' THEN
1200: pa_fp_gen_amount_utils.fp_debug
1201: (p_called_mode => p_called_mode,
1202: p_msg => 'Status after calling
1203: pa_plan_revenue.Get_planning_Rates'
1208: --dbms_output.put_line('Status of Get_planning_Rates api: '||X_RETURN_STATUS);
1209:
1210: */
1211:
1212: IF p_pa_debug_mode = 'Y' THEN
1213: PA_DEBUG.Reset_Curr_Function;
1214: END IF;
1215:
1216: EXCEPTION
1209:
1210: */
1211:
1212: IF p_pa_debug_mode = 'Y' THEN
1213: PA_DEBUG.Reset_Curr_Function;
1214: END IF;
1215:
1216: EXCEPTION
1217: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
1231: END IF;
1232: ROLLBACK;
1233:
1234: x_return_status := FND_API.G_RET_STS_ERROR;
1235: IF P_PA_DEBUG_MODE = 'Y' THEN
1236: pa_fp_gen_amount_utils.fp_debug
1237: (p_msg => 'Invalid Arguments Passed',
1238: p_module_name => l_module_name,
1239: p_log_level => 5);
1236: pa_fp_gen_amount_utils.fp_debug
1237: (p_msg => 'Invalid Arguments Passed',
1238: p_module_name => l_module_name,
1239: p_log_level => 5);
1240: PA_DEBUG.Reset_Curr_Function;
1241: END IF;
1242: RAISE;
1243:
1244: WHEN OTHERS THEN
1248: x_msg_data := SUBSTR(SQLERRM,1,240);
1249: FND_MSG_PUB.add_exc_msg
1250: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
1251: ,p_procedure_name => 'GET_VALUES_FOR_PLANNING_RATE');
1252: IF p_pa_debug_mode = 'Y' THEN
1253: PA_DEBUG.Reset_Curr_Function;
1254: END IF;
1255: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1256:
1249: FND_MSG_PUB.add_exc_msg
1250: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
1251: ,p_procedure_name => 'GET_VALUES_FOR_PLANNING_RATE');
1252: IF p_pa_debug_mode = 'Y' THEN
1253: PA_DEBUG.Reset_Curr_Function;
1254: END IF;
1255: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1256:
1257: END GET_VALUES_FOR_PLANNING_RATE;
1261: P_MSG IN VARCHAR2,
1262: P_MODULE_NAME IN VARCHAR2,
1263: P_LOG_LEVEL IN NUMBER) IS
1264: BEGIN
1265: pa_debug.g_err_stage := p_msg;
1266: IF p_called_mode = 'SELF_SERVICE' THEN
1267: pa_debug.write
1268: (x_module => p_module_name,
1269: x_msg => pa_debug.g_err_stage,
1263: P_LOG_LEVEL IN NUMBER) IS
1264: BEGIN
1265: pa_debug.g_err_stage := p_msg;
1266: IF p_called_mode = 'SELF_SERVICE' THEN
1267: pa_debug.write
1268: (x_module => p_module_name,
1269: x_msg => pa_debug.g_err_stage,
1270: x_log_level=> p_log_level);
1271: ELSIF p_called_mode = 'CONCURRENT' THEN
1265: pa_debug.g_err_stage := p_msg;
1266: IF p_called_mode = 'SELF_SERVICE' THEN
1267: pa_debug.write
1268: (x_module => p_module_name,
1269: x_msg => pa_debug.g_err_stage,
1270: x_log_level=> p_log_level);
1271: ELSIF p_called_mode = 'CONCURRENT' THEN
1272: pa_debug.write_file(x_msg => pa_debug.g_err_stage);
1273: END IF;
1268: (x_module => p_module_name,
1269: x_msg => pa_debug.g_err_stage,
1270: x_log_level=> p_log_level);
1271: ELSIF p_called_mode = 'CONCURRENT' THEN
1272: pa_debug.write_file(x_msg => pa_debug.g_err_stage);
1273: END IF;
1274:
1275: END FP_DEBUG;
1276:
1495: lc_message_code_SP CONSTANT VARCHAR2(30) := 'SP';
1496: lc_message_code_WPFP CONSTANT VARCHAR2(30) := 'WPFP';
1497:
1498: BEGIN
1499: IF p_pa_debug_mode = 'Y' THEN
1500: pa_debug.set_curr_function( p_function => 'VALIDATE_SUPPORT_CASES',
1501: p_debug_mode => p_pa_debug_mode);
1502: END IF;
1503: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1496: lc_message_code_WPFP CONSTANT VARCHAR2(30) := 'WPFP';
1497:
1498: BEGIN
1499: IF p_pa_debug_mode = 'Y' THEN
1500: pa_debug.set_curr_function( p_function => 'VALIDATE_SUPPORT_CASES',
1501: p_debug_mode => p_pa_debug_mode);
1502: END IF;
1503: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1504: X_MSG_COUNT := 0;
1497:
1498: BEGIN
1499: IF p_pa_debug_mode = 'Y' THEN
1500: pa_debug.set_curr_function( p_function => 'VALIDATE_SUPPORT_CASES',
1501: p_debug_mode => p_pa_debug_mode);
1502: END IF;
1503: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1504: X_MSG_COUNT := 0;
1505: X_WARNING_MESSAGE := NULL;
1540: l_stru_sharing_code = 'SHARE_FULL' AND
1541: l_default_bdgt_src_ver_flag = 'Y' AND
1542: l_fp_cols_rec_tgt.X_GEN_SRC_WP_VERSION_ID IS NULL THEN
1543:
1544: IF p_pa_debug_mode = 'Y' THEN
1545: pa_fp_gen_amount_utils.fp_debug
1546: (p_called_mode => p_calling_context,
1547: p_msg => 'Before calling
1548: PA_FP_GEN_AMOUNT_UTILS.DEFAULT_BDGT_SRC_VER',
1557: X_FP_COLS_REC_TGT => x_fp_cols_rec_tgt,
1558: X_RETURN_STATUS => X_RETURN_STATUS,
1559: X_MSG_COUNT => X_MSG_COUNT,
1560: X_MSG_DATA => X_MSG_DATA );
1561: IF p_pa_debug_mode = 'Y' THEN
1562: pa_fp_gen_amount_utils.fp_debug
1563: (p_called_mode => p_calling_context,
1564: p_msg => 'Status after calling
1565: PA_FP_GEN_AMOUNT_UTILS.DEFAULT_BDGT_SRC_VER: '
1582: IF l_fp_cols_rec_tgt.x_version_type = 'COST' AND
1583: l_source_wp_ver_id IS NOT NULL AND
1584: l_stru_sharing_code = 'SHARE_FULL' THEN
1585: /* Get version details for Source Workplan */
1586: IF p_pa_debug_mode = 'Y' THEN
1587: pa_fp_gen_amount_utils.fp_debug
1588: (p_called_mode => p_calling_context,
1589: p_msg => 'Before calling
1590: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
1597: X_FP_COLS_REC => l_fp_cols_rec_source,
1598: X_RETURN_STATUS => X_RETURN_STATUS,
1599: X_MSG_COUNT => X_MSG_COUNT,
1600: X_MSG_DATA => X_MSG_DATA );
1601: IF p_pa_debug_mode = 'Y' THEN
1602: pa_fp_gen_amount_utils.fp_debug
1603: (p_called_mode => p_calling_context,
1604: p_msg => 'Status after calling
1605: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
1716: IF l_gen_src_code = 'WORKPLAN_RESOURCES' OR
1717: (l_gen_src_code = 'TASK_LEVEL_SEL' AND l_count > 0) THEN
1718:
1719: /* Get version details for Source Workplan */
1720: IF p_pa_debug_mode = 'Y' THEN
1721: pa_fp_gen_amount_utils.fp_debug
1722: (p_called_mode => p_calling_context,
1723: p_msg => 'Before calling
1724: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
1731: X_FP_COLS_REC => l_fp_cols_rec_source,
1732: X_RETURN_STATUS => X_RETURN_STATUS,
1733: X_MSG_COUNT => X_MSG_COUNT,
1734: X_MSG_DATA => X_MSG_DATA);
1735: IF p_pa_debug_mode = 'Y' THEN
1736: pa_fp_gen_amount_utils.fp_debug
1737: (p_called_mode => p_calling_context,
1738: p_msg => 'Status after calling
1739: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
1769: IF l_gen_src_code = 'FINANCIAL_PLAN' OR
1770: (l_gen_src_code = 'TASK_LEVEL_SEL' AND l_count > 0) THEN
1771:
1772: -- Get version details for Source Financial Plan
1773: IF p_pa_debug_mode = 'Y' THEN
1774: pa_fp_gen_amount_utils.fp_debug
1775: (p_called_mode => p_calling_context,
1776: p_msg => 'Before calling
1777: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
1784: X_FP_COLS_REC => l_fp_cols_rec_source,
1785: X_RETURN_STATUS => X_RETURN_STATUS,
1786: X_MSG_COUNT => X_MSG_COUNT,
1787: X_MSG_DATA => X_MSG_DATA);
1788: IF p_pa_debug_mode = 'Y' THEN
1789: pa_fp_gen_amount_utils.fp_debug
1790: (p_called_mode => p_calling_context,
1791: p_msg => 'Status after calling
1792: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
1824: IF l_default_bdgt_src_ver_flag = 'Y' AND
1825: l_fp_cols_rec_tgt.X_GEN_SRC_WP_VERSION_ID IS NULL AND
1826: l_fp_cols_rec_tgt.X_GEN_SRC_PLAN_VERSION_ID IS NULL THEN
1827:
1828: IF p_pa_debug_mode = 'Y' THEN
1829: pa_fp_gen_amount_utils.fp_debug
1830: (p_called_mode => p_calling_context,
1831: p_msg => 'Before calling
1832: PA_FP_GEN_AMOUNT_UTILS.DEFAULT_BDGT_SRC_VER',
1841: X_FP_COLS_REC_TGT => x_fp_cols_rec_tgt,
1842: X_RETURN_STATUS => X_RETURN_STATUS,
1843: X_MSG_COUNT => X_MSG_COUNT,
1844: X_MSG_DATA => X_MSG_DATA );
1845: IF p_pa_debug_mode = 'Y' THEN
1846: pa_fp_gen_amount_utils.fp_debug
1847: (p_called_mode => p_calling_context,
1848: p_msg => 'Status after calling
1849: PA_FP_GEN_AMOUNT_UTILS.DEFAULT_BDGT_SRC_VER: '
2098: AND l_gen_src_code = 'FINANCIAL_PLAN'
2099: AND l_fp_cols_rec_tgt.X_VERSION_TYPE IN ('REVENUE','ALL')) THEN
2100:
2101: -- Get version details for Source Financial Plan
2102: IF p_pa_debug_mode = 'Y' THEN
2103: pa_fp_gen_amount_utils.fp_debug
2104: (p_called_mode => p_calling_context,
2105: p_msg => 'Before calling
2106: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
2113: X_FP_COLS_REC => l_fp_cols_rec_source,
2114: X_RETURN_STATUS => X_RETURN_STATUS,
2115: X_MSG_COUNT => X_MSG_COUNT,
2116: X_MSG_DATA => X_MSG_DATA);
2117: IF p_pa_debug_mode = 'Y' THEN
2118: pa_fp_gen_amount_utils.fp_debug
2119: (p_called_mode => p_calling_context,
2120: p_msg => 'Status after calling
2121: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
2153: -- 1) This API was called with non-empty message stack.
2154: -- 2) This API pushed multiple messages onto the stack.
2155: -- In both cases, we should only have 1 message on the stack.
2156: IF l_msg_count <> 1 THEN
2157: IF P_PA_DEBUG_MODE = 'Y' THEN
2158: pa_fp_gen_amount_utils.fp_debug
2159: ( p_called_mode => p_calling_context,
2160: p_msg => 'Source data contains errors, but the number of ' ||
2161: 'messages on the error stack is not equal to 1.',
2172: --p_msg_data => l_msg_data ,
2173: p_data => X_WARNING_MESSAGE,
2174: p_msg_index_out => l_msg_index_out);
2175:
2176: IF P_PA_DEBUG_MODE = 'Y' THEN
2177: PA_DEBUG.RESET_CURR_FUNCTION;
2178: END IF;
2179:
2180: ROLLBACK;
2173: p_data => X_WARNING_MESSAGE,
2174: p_msg_index_out => l_msg_index_out);
2175:
2176: IF P_PA_DEBUG_MODE = 'Y' THEN
2177: PA_DEBUG.RESET_CURR_FUNCTION;
2178: END IF;
2179:
2180: ROLLBACK;
2181: RETURN;
2182: END IF;
2183:
2184: END IF; -- P_CHECK_SRC_ERRORS_FLAG check
2185:
2186: IF P_PA_DEBUG_MODE = 'Y' THEN
2187: PA_DEBUG.RESET_CURR_FUNCTION;
2188: END IF;
2189: EXCEPTION
2190: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2183:
2184: END IF; -- P_CHECK_SRC_ERRORS_FLAG check
2185:
2186: IF P_PA_DEBUG_MODE = 'Y' THEN
2187: PA_DEBUG.RESET_CURR_FUNCTION;
2188: END IF;
2189: EXCEPTION
2190: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2191: l_msg_count := FND_MSG_PUB.count_msg;
2204: END IF;
2205:
2206: x_return_status := FND_API.G_RET_STS_ERROR;
2207:
2208: IF P_PA_DEBUG_MODE = 'Y' THEN
2209: pa_fp_gen_amount_utils.fp_debug
2210: ( p_called_mode => p_calling_context,
2211: p_msg => 'Invalid Arguments Passed',
2212: p_module_name => l_module_name,
2210: ( p_called_mode => p_calling_context,
2211: p_msg => 'Invalid Arguments Passed',
2212: p_module_name => l_module_name,
2213: p_log_level => 5 );
2214: PA_DEBUG.RESET_CURR_FUNCTION;
2215: END IF;
2216:
2217: ROLLBACK;
2218: RAISE;
2225: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS',
2226: p_procedure_name => 'VALIDATE_SUPPORT_CASES',
2227: p_error_text => substr(sqlerrm,1,240));
2228:
2229: IF P_PA_DEBUG_MODE = 'Y' THEN
2230: pa_fp_gen_amount_utils.fp_debug
2231: (p_called_mode => p_calling_context,
2232: p_msg => 'Unexpected Error'||substr(sqlerrm,1,240),
2233: p_module_name => l_module_name,
2231: (p_called_mode => p_calling_context,
2232: p_msg => 'Unexpected Error'||substr(sqlerrm,1,240),
2233: p_module_name => l_module_name,
2234: p_log_level => 5);
2235: PA_DEBUG.RESET_CURR_FUNCTION;
2236: END IF;
2237: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2238: END VALIDATE_SUPPORT_CASES;
2239:
2292: l_data VARCHAR2(2000);
2293: l_msg_data VARCHAR2(2000);
2294: l_msg_index_out NUMBER;
2295: BEGIN
2296: IF p_pa_debug_mode = 'Y' THEN
2297: pa_debug.set_curr_function
2298: ( p_function => 'DEFAULT_BDGT_SRC_VER',
2299: p_debug_mode => p_pa_debug_mode );
2300: END IF;
2293: l_msg_data VARCHAR2(2000);
2294: l_msg_index_out NUMBER;
2295: BEGIN
2296: IF p_pa_debug_mode = 'Y' THEN
2297: pa_debug.set_curr_function
2298: ( p_function => 'DEFAULT_BDGT_SRC_VER',
2299: p_debug_mode => p_pa_debug_mode );
2300: END IF;
2301:
2295: BEGIN
2296: IF p_pa_debug_mode = 'Y' THEN
2297: pa_debug.set_curr_function
2298: ( p_function => 'DEFAULT_BDGT_SRC_VER',
2299: p_debug_mode => p_pa_debug_mode );
2300: END IF;
2301:
2302: -- Initialize OUT parameters with default values
2303: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2432: OR l_gen_src_plan_ver_code = 'ORIGINAL_BASELINED'
2433: OR l_gen_src_plan_ver_code = 'CURRENT_APPROVED'
2434: OR l_gen_src_plan_ver_code = 'ORIGINAL_APPROVED' THEN
2435: /*Get the current baselined or original baselined version*/
2436: IF P_PA_DEBUG_MODE = 'Y' THEN
2437: pa_fp_gen_amount_utils.fp_debug
2438: ( p_called_mode => p_calling_context,
2439: p_msg => 'Before calling
2440: pa_fp_gen_amount_utils.Get_Curr_Original_Version_Info',
2450: x_fin_plan_version_id => l_source_id,
2451: x_return_status => x_return_status,
2452: x_msg_count => x_msg_count,
2453: x_msg_data => x_msg_data );
2454: IF P_PA_DEBUG_MODE = 'Y' THEN
2455: pa_fp_gen_amount_utils.fp_debug
2456: ( p_called_mode => p_calling_context,
2457: p_msg => 'Status after calling
2458: pa_fp_gen_amount_utils.Get_Curr_Original_Version_Info'
2465: END IF;
2466:
2467: ELSIF l_gen_src_plan_ver_code = 'CURRENT_WORKING' THEN
2468: /*Get the current working version*/
2469: IF P_PA_DEBUG_MODE = 'Y' THEN
2470: pa_fp_gen_amount_utils.fp_debug
2471: ( p_called_mode => p_calling_context,
2472: p_msg => 'Before calling
2473: pa_fin_plan_utils.Get_Curr_Working_Version_Info',
2482: x_fin_plan_version_id => l_source_id,
2483: x_return_status => x_return_status,
2484: x_msg_count => x_msg_count,
2485: x_msg_data => x_msg_data );
2486: IF P_PA_DEBUG_MODE = 'Y' THEN
2487: pa_fp_gen_amount_utils.fp_debug
2488: ( p_called_mode => p_calling_context,
2489: p_msg => 'Status after calling
2490: pa_fin_plan_utils.Get_Curr_Working_Version_Info'
2528:
2529: /* Get updated Target version details */
2530: -- Currently, l_update_details_flag is always 'Y', but may change in the future.
2531: IF l_update_details_flag = 'Y' THEN
2532: IF p_pa_debug_mode = 'Y' THEN
2533: pa_fp_gen_amount_utils.fp_debug
2534: (p_called_mode => p_calling_context,
2535: p_msg => 'Before calling
2536: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS',
2543: X_FP_COLS_REC => X_FP_COLS_REC_TGT,
2544: X_RETURN_STATUS => X_RETURN_STATUS,
2545: X_MSG_COUNT => X_MSG_COUNT,
2546: X_MSG_DATA => X_MSG_DATA);
2547: IF p_pa_debug_mode = 'Y' THEN
2548: pa_fp_gen_amount_utils.fp_debug
2549: (p_called_mode => p_calling_context,
2550: p_msg => 'Status after calling
2551: PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DTLS: '
2559: END IF; -- l_update_details_flag check
2560:
2561: END IF; -- defaulting logic
2562:
2563: IF P_PA_DEBUG_MODE = 'Y' THEN
2564: PA_DEBUG.RESET_CURR_FUNCTION;
2565: END IF;
2566: EXCEPTION
2567: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2560:
2561: END IF; -- defaulting logic
2562:
2563: IF P_PA_DEBUG_MODE = 'Y' THEN
2564: PA_DEBUG.RESET_CURR_FUNCTION;
2565: END IF;
2566: EXCEPTION
2567: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2568: l_msg_count := FND_MSG_PUB.count_msg;
2581: END IF;
2582:
2583: x_return_status := FND_API.G_RET_STS_ERROR;
2584:
2585: IF P_PA_DEBUG_MODE = 'Y' THEN
2586: pa_fp_gen_amount_utils.fp_debug
2587: ( p_called_mode => p_calling_context,
2588: p_msg => 'Invalid Arguments Passed',
2589: p_module_name => l_module_name,
2587: ( p_called_mode => p_calling_context,
2588: p_msg => 'Invalid Arguments Passed',
2589: p_module_name => l_module_name,
2590: p_log_level => 5 );
2591: PA_DEBUG.RESET_CURR_FUNCTION;
2592: END IF;
2593:
2594: ROLLBACK;
2595: RAISE;
2602: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS',
2603: p_procedure_name => 'DEFAULT_BDGT_SRC_VER',
2604: p_error_text => substr(sqlerrm,1,240));
2605:
2606: IF P_PA_DEBUG_MODE = 'Y' THEN
2607: pa_fp_gen_amount_utils.fp_debug
2608: (p_called_mode => p_calling_context,
2609: p_msg => 'Unexpected Error'||substr(sqlerrm,1,240),
2610: p_module_name => l_module_name,
2608: (p_called_mode => p_calling_context,
2609: p_msg => 'Unexpected Error'||substr(sqlerrm,1,240),
2610: p_module_name => l_module_name,
2611: p_log_level => 5);
2612: PA_DEBUG.RESET_CURR_FUNCTION;
2613: END IF;
2614: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2615: END DEFAULT_BDGT_SRC_VER;
2616: