122: SELECT budget_version_id
123: INTO l_budget_version_id
124: FROM pa_budget_versions
125: WHERE project_id = p_project_id
126: AND budget_type_code=PA_FP_CONSTANTS_PKG.G_BUDGET_TYPE_CODE_AC
127: AND rownum = 1;
128:
129: RETURN ('PA_FP_AC_BUDGET_TYPE_EXISTS');
130:
139: SELECT budget_version_id
140: INTO l_budget_version_id
141: FROM pa_budget_versions
142: WHERE project_id = p_project_id
143: AND budget_type_code=PA_FP_CONSTANTS_PKG.G_BUDGET_TYPE_CODE_AR
144: AND rownum = 1;
145:
146: RETURN 'PA_FP_AR_BUDGET_TYPE_EXISTS';
147:
276:
277: BEGIN
278:
279: SELECT DECODE(fin_plan_preference_code,
280: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_resource_list_id,
281: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_resource_list_id,
282: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_resource_list_id)
283: INTO l_resource_list_id
284: FROM pa_proj_fp_options
277: BEGIN
278:
279: SELECT DECODE(fin_plan_preference_code,
280: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_resource_list_id,
281: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_resource_list_id,
282: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_resource_list_id)
283: INTO l_resource_list_id
284: FROM pa_proj_fp_options
285: WHERE fin_plan_version_id = p_fin_plan_version_id;
278:
279: SELECT DECODE(fin_plan_preference_code,
280: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_resource_list_id,
281: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_resource_list_id,
282: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_resource_list_id)
283: INTO l_resource_list_id
284: FROM pa_proj_fp_options
285: WHERE fin_plan_version_id = p_fin_plan_version_id;
286:
338: END;
339: ELSE
340: BEGIN
341: SELECT DECODE(fin_plan_preference_code,
342: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_time_phased_code,
343: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_time_phased_code,
344: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_time_phased_code)
345: INTO l_time_phased_code
346: FROM pa_proj_fp_options
339: ELSE
340: BEGIN
341: SELECT DECODE(fin_plan_preference_code,
342: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_time_phased_code,
343: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_time_phased_code,
344: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_time_phased_code)
345: INTO l_time_phased_code
346: FROM pa_proj_fp_options
347: WHERE fin_plan_version_id = p_fin_plan_version_id;
340: BEGIN
341: SELECT DECODE(fin_plan_preference_code,
342: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_time_phased_code,
343: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_time_phased_code,
344: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_time_phased_code)
345: INTO l_time_phased_code
346: FROM pa_proj_fp_options
347: WHERE fin_plan_version_id = p_fin_plan_version_id;
348: EXCEPTION
368:
369: BEGIN
370:
371: SELECT DECODE(fin_plan_preference_code,
372: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_fin_plan_level_code,
373: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
374: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code)
375: INTO l_fin_plan_level_code
376: FROM pa_proj_fp_options
369: BEGIN
370:
371: SELECT DECODE(fin_plan_preference_code,
372: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_fin_plan_level_code,
373: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
374: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code)
375: INTO l_fin_plan_level_code
376: FROM pa_proj_fp_options
377: WHERE fin_plan_version_id = p_fin_plan_version_id;
370:
371: SELECT DECODE(fin_plan_preference_code,
372: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_fin_plan_level_code,
373: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
374: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code)
375: INTO l_fin_plan_level_code
376: FROM pa_proj_fp_options
377: WHERE fin_plan_version_id = p_fin_plan_version_id;
378:
422:
423: BEGIN
424:
425: SELECT DECODE(fin_plan_preference_code,
426: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_fin_plan_level_code,
427: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
428: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code,
429: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP,
430: DECODE(p_element_type,PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST,cost_fin_plan_level_code,
423: BEGIN
424:
425: SELECT DECODE(fin_plan_preference_code,
426: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_fin_plan_level_code,
427: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
428: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code,
429: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP,
430: DECODE(p_element_type,PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST,cost_fin_plan_level_code,
431: PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE, revenue_fin_plan_level_code))
424:
425: SELECT DECODE(fin_plan_preference_code,
426: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_fin_plan_level_code,
427: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
428: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code,
429: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP,
430: DECODE(p_element_type,PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST,cost_fin_plan_level_code,
431: PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE, revenue_fin_plan_level_code))
432: INTO l_fin_plan_level_code
425: SELECT DECODE(fin_plan_preference_code,
426: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_fin_plan_level_code,
427: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
428: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code,
429: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP,
430: DECODE(p_element_type,PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST,cost_fin_plan_level_code,
431: PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE, revenue_fin_plan_level_code))
432: INTO l_fin_plan_level_code
433: FROM pa_proj_fp_options
426: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_fin_plan_level_code,
427: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
428: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code,
429: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP,
430: DECODE(p_element_type,PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST,cost_fin_plan_level_code,
431: PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE, revenue_fin_plan_level_code))
432: INTO l_fin_plan_level_code
433: FROM pa_proj_fp_options
434: WHERE proj_fp_options_id = p_proj_fp_options_id;
427: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_fin_plan_level_code,
428: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_fin_plan_level_code,
429: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP,
430: DECODE(p_element_type,PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST,cost_fin_plan_level_code,
431: PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE, revenue_fin_plan_level_code))
432: INTO l_fin_plan_level_code
433: FROM pa_proj_fp_options
434: WHERE proj_fp_options_id = p_proj_fp_options_id;
435:
451:
452: BEGIN
453:
454: SELECT DECODE(fin_plan_preference_code,
455: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_amount_set_id,
456: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_amount_set_id,
457: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_amount_set_id)
458: INTO l_amount_set_id
459: FROM pa_proj_fp_options
452: BEGIN
453:
454: SELECT DECODE(fin_plan_preference_code,
455: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_amount_set_id,
456: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_amount_set_id,
457: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_amount_set_id)
458: INTO l_amount_set_id
459: FROM pa_proj_fp_options
460: WHERE fin_plan_version_id = p_fin_plan_version_id;
453:
454: SELECT DECODE(fin_plan_preference_code,
455: PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME, all_amount_set_id,
456: PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY, cost_amount_set_id,
457: PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY, revenue_amount_set_id)
458: INTO l_amount_set_id
459: FROM pa_proj_fp_options
460: WHERE fin_plan_version_id = p_fin_plan_version_id;
461:
679: INTO l_fp_preference_code
680: FROM pa_proj_fp_options
681: WHERE project_id = p_project_id
682: AND fin_plan_type_id = p_fin_plan_type_id
683: AND fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
684:
685: IF (l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP) AND
686:
687: (p_version_type IS NULL) THEN
681: WHERE project_id = p_project_id
682: AND fin_plan_type_id = p_fin_plan_type_id
683: AND fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
684:
685: IF (l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP) AND
686:
687: (p_version_type IS NULL) THEN
688:
689: --In this case version_type should be passed and so raise error
708: --Fetch l_element_type ifn't passed and could be derived
709:
710: IF p_version_type IS NULL THEN
711:
712: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
713:
714: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
715:
716: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
710: IF p_version_type IS NULL THEN
711:
712: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
713:
714: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
715:
716: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
717:
718: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
712: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
713:
714: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
715:
716: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
717:
718: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
719:
720: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
714: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
715:
716: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
717:
718: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
719:
720: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
721:
722: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
716: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
717:
718: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
719:
720: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
721:
722: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
723:
724: END IF;
718: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
719:
720: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
721:
722: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
723:
724: END IF;
725:
726: END IF;
1205: INTO l_fp_preference_code
1206: FROM pa_proj_fp_options
1207: WHERE project_id = p_project_id
1208: AND fin_plan_type_id = p_fin_plan_type_id
1209: AND fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
1210:
1211: IF (l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP) AND
1212:
1213: (p_version_type IS NULL) THEN
1207: WHERE project_id = p_project_id
1208: AND fin_plan_type_id = p_fin_plan_type_id
1209: AND fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
1210:
1211: IF (l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP) AND
1212:
1213: (p_version_type IS NULL) THEN
1214:
1215: --In this case version_type should be passed and so raise error
1234: --Fetch l_element_type ifn't passed and could be derived
1235:
1236: IF p_version_type IS NULL THEN
1237:
1238: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
1239:
1240: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
1241:
1242: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
1236: IF p_version_type IS NULL THEN
1237:
1238: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
1239:
1240: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
1241:
1242: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
1243:
1244: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
1238: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
1239:
1240: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
1241:
1242: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
1243:
1244: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
1245:
1246: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
1240: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
1241:
1242: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
1243:
1244: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
1245:
1246: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
1247:
1248: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
1242: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
1243:
1244: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
1245:
1246: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
1247:
1248: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
1249:
1250: END IF;
1244: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
1245:
1246: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
1247:
1248: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
1249:
1250: END IF;
1251:
1252: END IF;
1810: IF P_PA_DEBUG_MODE = 'Y' THEN
1811: pa_debug.write('GET_OR_CREATE_AMOUNT_SET_ID: ' || l_module_name,pa_debug.g_err_stage,3);
1812: END IF;
1813:
1814: IF (p_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY or p_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP) then
1815: BEGIN
1816:
1817: /* Changes for FP.M, Tracking Bug No - 3354518
1818: Appending where clause for three new column bill_rate_flag,
1832: bill_rate_flag = 'N' and
1833: cost_rate_flag = p_cost_rate_flag and
1834: burden_rate_flag = p_burden_rate_flag and
1835: /* Changes for FPM End here ,Tracking Bug No - 3354518*/
1836: amount_set_type_code=PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
1837:
1838: l_status := 'OLD';
1839: EXCEPTION
1840: when NO_DATA_FOUND then
1915: IF P_PA_DEBUG_MODE = 'Y' THEN
1916: pa_debug.write('GET_OR_CREATE_AMOUNT_SET_ID: ' || l_module_name,pa_debug.g_err_stage,3);
1917: END IF;
1918:
1919: IF p_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY or p_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP THEN
1920: BEGIN
1921:
1922: /* Changes for FP.M, Tracking Bug No - 3354518
1923: Appending where clause for three new column bill_rate_flag,
2021: IF P_PA_DEBUG_MODE = 'Y' THEN
2022: pa_debug.write('GET_OR_CREATE_AMOUNT_SET_ID: ' || l_module_name,pa_debug.g_err_stage,3);
2023: END IF;
2024:
2025: IF p_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
2026: BEGIN
2027: /* Changes for FP.M, Tracking Bug No - 3354518
2028: Appending where clause for three new column bill_rate_flag,
2029: cost_rate_flag, burden_rate added to pa_fin_plan_amount_sets
2465:
2466: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
2467: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
2468:
2469: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2470:
2471: END IF;
2472:
2473: FOR l_period_info_rec IN period_info_cur LOOP
2484: pa_debug.reset_err_stack;
2485: END IF;
2486: EXCEPTION
2487:
2488: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2489:
2490: l_msg_count := FND_MSG_PUB.count_msg;
2491:
2492: IF l_msg_count = 1 THEN
2605:
2606: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
2607: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
2608:
2609: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2610:
2611: END IF;
2612:
2613: BEGIN
2645: pa_debug.reset_err_stack;
2646: END IF;
2647: EXCEPTION
2648:
2649: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2650:
2651: l_msg_count := FND_MSG_PUB.count_msg;
2652:
2653: IF l_msg_count = 1 THEN
2739: END IF;
2740: PA_UTILS.ADD_MESSAGE
2741: (p_app_short_name => 'PA',
2742: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
2743: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2744:
2745: END IF;
2746:
2747:
2769: IF P_PA_DEBUG_MODE = 'Y' THEN
2770: pa_debug.reset_err_stack;
2771: END IF;
2772: EXCEPTION
2773: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN -- Bug 2770562
2774:
2775: x_return_status := FND_API.G_RET_STS_ERROR;
2776: l_msg_count := FND_MSG_PUB.count_msg;
2777:
3679: END IF;
3680: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
3681: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
3682:
3683: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
3684:
3685: END IF;
3686:
3687: SELECT nvl(uncategorized_flag,'N')
3696: IF P_PA_DEBUG_MODE = 'Y' THEN
3697: pa_debug.reset_err_stack;
3698: END IF;
3699: EXCEPTION
3700: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
3701:
3702: l_msg_count := FND_MSG_PUB.count_msg;
3703:
3704: IF l_msg_count = 1 THEN
3809: END IF;
3810: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
3811: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
3812:
3813: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
3814:
3815: END IF;
3816:
3817: SELECT nvl(uncategorized_flag,'N')
3832: IF P_PA_DEBUG_MODE = 'Y' THEN
3833: pa_debug.reset_err_stack;
3834: END IF;
3835: EXCEPTION
3836: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
3837:
3838: l_msg_count := FND_MSG_PUB.count_msg;
3839:
3840: IF l_msg_count = 1 THEN
3988: p_msg_name => 'PA_BU_NO_UNCAT_RESOURCE_LIST' );
3989: IF P_PA_DEBUG_MODE = 'Y' THEN
3990: pa_debug.reset_err_stack;
3991: END IF;
3992: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
3993:
3994: END Get_Uncat_Resource_List_Info;
3995:
3996: /*=============================================================================
4432: RAISE Invalid_Arg_Exc;
4433:
4434: END IF;
4435:
4436: IF p_copy_mode = PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING THEN
4437: IF p_ci_id IS NULL THEN
4438: BEGIN
4439: SELECT NVL(max(version_number),0)
4440: INTO l_version_number
4441: FROM pa_budget_versions
4442: WHERE project_id = p_project_id
4443: AND fin_plan_type_id = p_fin_plan_type_id
4444: AND version_type = p_version_type
4445: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING,
4446: PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_SUBMITTED)
4447: AND ci_id IS NULL;
4448: EXCEPTION
4449: WHEN OTHERS THEN
4442: WHERE project_id = p_project_id
4443: AND fin_plan_type_id = p_fin_plan_type_id
4444: AND version_type = p_version_type
4445: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING,
4446: PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_SUBMITTED)
4447: AND ci_id IS NULL;
4448: EXCEPTION
4449: WHEN OTHERS THEN
4450:
4464: FROM pa_budget_versions
4465: WHERE project_id = p_project_id
4466: AND fin_plan_type_id = p_fin_plan_type_id
4467: AND version_type = p_version_type
4468: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING,
4469: PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_SUBMITTED)
4470: AND ci_id is null
4471: AND version_number = l_version_number
4472: FOR UPDATE;
4465: WHERE project_id = p_project_id
4466: AND fin_plan_type_id = p_fin_plan_type_id
4467: AND version_type = p_version_type
4468: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING,
4469: PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_SUBMITTED)
4470: AND ci_id is null
4471: AND version_number = l_version_number
4472: FOR UPDATE;
4473: EXCEPTION
4488: FROM pa_budget_versions
4489: WHERE project_id = p_project_id
4490: AND fin_plan_type_id = p_fin_plan_type_id
4491: AND version_type = p_version_type
4492: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING,
4493: PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_SUBMITTED)
4494: AND ci_id = p_ci_id;
4495:
4496: IF l_version_number <> 0 AND nvl(p_lock_required_flag, 'N') = 'Y' THEN -- bug 3677924
4489: WHERE project_id = p_project_id
4490: AND fin_plan_type_id = p_fin_plan_type_id
4491: AND version_type = p_version_type
4492: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING,
4493: PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_SUBMITTED)
4494: AND ci_id = p_ci_id;
4495:
4496: IF l_version_number <> 0 AND nvl(p_lock_required_flag, 'N') = 'Y' THEN -- bug 3677924
4497: SELECT version_number
4499: FROM pa_budget_versions
4500: WHERE project_id = p_project_id
4501: AND fin_plan_type_id = p_fin_plan_type_id
4502: AND version_type = p_version_type
4503: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING,
4504: PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_SUBMITTED)
4505: AND ci_id = p_ci_id
4506: AND version_number = l_version_number
4507: FOR UPDATE;
4500: WHERE project_id = p_project_id
4501: AND fin_plan_type_id = p_fin_plan_type_id
4502: AND version_type = p_version_type
4503: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING,
4504: PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_SUBMITTED)
4505: AND ci_id = p_ci_id
4506: AND version_number = l_version_number
4507: FOR UPDATE;
4508: END IF;
4506: AND version_number = l_version_number
4507: FOR UPDATE;
4508: END IF;
4509: END IF;
4510: ELSIF p_copy_mode = PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_BASELINED THEN
4511:
4512: SELECT NVL(max(version_number),0)
4513: INTO l_version_number
4514: FROM pa_budget_versions
4514: FROM pa_budget_versions
4515: WHERE project_id = p_project_id
4516: AND fin_plan_type_id = p_fin_plan_type_id
4517: AND version_type = p_version_type
4518: AND budget_status_code IN (PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_BASELINED);
4519:
4520: END IF;
4521:
4522: x_version_number:= l_version_number;
4572: IF P_PA_DEBUG_MODE = 'Y' THEN
4573: pa_debug.g_err_stage := 'Inside get_period_start_date and input date is '||p_input_date||' time phasing is : '||p_time_phased_code;
4574: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4575: END IF;
4576: IF p_time_phased_code = PA_FP_CONSTANTS_PKG.G_TIME_PHASED_CODE_P THEN
4577: IF p_input_date IS NOT NULL THEN
4578: SELECT start_date
4579: INTO l_start_date
4580: FROM pa_periods
4579: INTO l_start_date
4580: FROM pa_periods
4581: WHERE p_input_date between start_date and end_date;
4582: END IF;
4583: ELSIF p_time_phased_code = PA_FP_CONSTANTS_PKG.G_TIME_PHASED_CODE_G THEN
4584: IF p_input_date IS NOT NULL THEN
4585: SELECT g.start_date
4586: INTO l_start_date
4587: FROM PA_IMPLEMENTATIONS i,
4607: IF P_PA_DEBUG_MODE = 'Y' THEN
4608: pa_debug.g_err_stage := 'Inside get_period_end_date and input date is '||p_input_date||' time phasing is : '||p_time_phased_code;
4609: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4610: END IF;
4611: IF p_time_phased_code = PA_FP_CONSTANTS_PKG.G_TIME_PHASED_CODE_P THEN
4612: IF p_input_date IS NOT NULL THEN
4613: SELECT end_date
4614: INTO l_end_date
4615: FROM pa_periods
4615: FROM pa_periods
4616: WHERE p_input_date between start_date and end_date;
4617: END IF;
4618:
4619: ELSIF p_time_phased_code = PA_FP_CONSTANTS_PKG.G_TIME_PHASED_CODE_G THEN
4620: IF p_input_date IS NOT NULL THEN
4621: SELECT g.end_date
4622: INTO l_end_date
4623: FROM PA_IMPLEMENTATIONS i,
4685: -- Check for business rules violations
4686:
4687: pa_debug.g_err_stage:= 'Validating input parameters';
4688: IF P_PA_DEBUG_MODE = 'Y' THEN
4689: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
4690: END IF;
4691:
4692: --Check if plan version id is null
4693:
4697: THEN
4698:
4699: pa_debug.g_err_stage:= 'p_project_id = '|| p_project_id;
4700: IF P_PA_DEBUG_MODE = 'Y' THEN
4701: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4702: END IF;
4703: pa_debug.g_err_stage:= 'p_budget_type_code = '|| p_budget_type_code;
4704: IF P_PA_DEBUG_MODE = 'Y' THEN
4705: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4701: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4702: END IF;
4703: pa_debug.g_err_stage:= 'p_budget_type_code = '|| p_budget_type_code;
4704: IF P_PA_DEBUG_MODE = 'Y' THEN
4705: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4706: END IF;
4707: pa_debug.g_err_stage:= 'p_fin_plan_type_id = '|| p_fin_plan_type_id;
4708: IF P_PA_DEBUG_MODE = 'Y' THEN
4709: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4705: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4706: END IF;
4707: pa_debug.g_err_stage:= 'p_fin_plan_type_id = '|| p_fin_plan_type_id;
4708: IF P_PA_DEBUG_MODE = 'Y' THEN
4709: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4710: END IF;
4711:
4712: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
4713: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
4728: INTO l_fin_plan_preference_code
4729: FROM pa_proj_fp_options
4730: WHERE project_id = p_project_id
4731: AND fin_plan_type_id = p_fin_plan_type_id
4732: AND fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
4733: EXCEPTION
4734: WHEN others THEN
4735: pa_debug.g_err_stage:= 'While fetching Preference Code'||SQLERRM;
4736: IF P_PA_DEBUG_MODE = 'Y' THEN
4733: EXCEPTION
4734: WHEN others THEN
4735: pa_debug.g_err_stage:= 'While fetching Preference Code'||SQLERRM;
4736: IF P_PA_DEBUG_MODE = 'Y' THEN
4737: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4738: END IF;
4739: RAISE ;
4740: END;
4741:
4741:
4742: -- Based on fin_plan_preference code, fetch all version for cost_and_rev_same plan type and
4743: -- for other plan types fetch cost version..
4744:
4745: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME
4746: THEN
4747: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL;
4748: ELSE
4749: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST;
4743: -- for other plan types fetch cost version..
4744:
4745: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME
4746: THEN
4747: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL;
4748: ELSE
4749: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST;
4750: END IF;
4751:
4745: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME
4746: THEN
4747: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL;
4748: ELSE
4749: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST;
4750: END IF;
4751:
4752: PA_FIN_PLAN_UTILS.Get_Baselined_Version_Info(
4753: p_project_id => p_project_id
4788: END IF;
4789:
4790: pa_debug.g_err_stage:= 'Exiting GET_COST_BASE_VERSION_INFO';
4791: IF P_PA_DEBUG_MODE = 'Y' THEN
4792: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
4793:
4794: pa_debug.reset_err_stack;
4795: END IF;
4796: EXCEPTION
4813: END IF;
4814:
4815: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
4816: IF P_PA_DEBUG_MODE = 'Y' THEN
4817: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4818: END IF;
4819:
4820: x_return_status := FND_API.G_RET_STS_ERROR;
4821: IF P_PA_DEBUG_MODE = 'Y' THEN
4829: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FIN_PLAN_UTILS'
4830: ,p_procedure_name => 'GET_COST_BASE_VERSION_INFO');
4831: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
4832: IF P_PA_DEBUG_MODE = 'Y' THEN
4833: pa_debug.write('GET_COST_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4834: pa_debug.reset_err_stack;
4835: END IF;
4836: END GET_COST_BASE_VERSION_INFO;
4837:
4885: -- Check for business rules violations
4886:
4887: pa_debug.g_err_stage:= 'Validating input parameters';
4888: IF P_PA_DEBUG_MODE = 'Y' THEN
4889: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
4890: END IF;
4891:
4892: --Check if plan version id is null
4893:
4897: THEN
4898:
4899: pa_debug.g_err_stage:= 'p_project_id = '|| p_project_id;
4900: IF P_PA_DEBUG_MODE = 'Y' THEN
4901: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4902: END IF;
4903: pa_debug.g_err_stage:= 'p_budget_type_code = '|| p_budget_type_code;
4904: IF P_PA_DEBUG_MODE = 'Y' THEN
4905: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4901: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4902: END IF;
4903: pa_debug.g_err_stage:= 'p_budget_type_code = '|| p_budget_type_code;
4904: IF P_PA_DEBUG_MODE = 'Y' THEN
4905: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4906: END IF;
4907: pa_debug.g_err_stage:= 'p_fin_plan_type_id = '|| p_fin_plan_type_id;
4908: IF P_PA_DEBUG_MODE = 'Y' THEN
4909: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4905: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4906: END IF;
4907: pa_debug.g_err_stage:= 'p_fin_plan_type_id = '|| p_fin_plan_type_id;
4908: IF P_PA_DEBUG_MODE = 'Y' THEN
4909: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4910: END IF;
4911:
4912: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
4913: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
4928: INTO l_fin_plan_preference_code
4929: FROM pa_proj_fp_options
4930: WHERE project_id = p_project_id
4931: AND fin_plan_type_id = p_fin_plan_type_id
4932: AND fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
4933: EXCEPTION
4934: WHEN others THEN
4935:
4936: pa_debug.g_err_stage:= 'While fetching Preference Code'||SQLERRM;
4934: WHEN others THEN
4935:
4936: pa_debug.g_err_stage:= 'While fetching Preference Code'||SQLERRM;
4937: IF P_PA_DEBUG_MODE = 'Y' THEN
4938: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
4939: END IF;
4940: RAISE;
4941: END;
4942:
4942:
4943: -- Based on fin_plan_preference code, fetch all version for cost_and_rev_same plan type and
4944: -- for other plan types fetch cost version..
4945:
4946: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME
4947: THEN
4948: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL;
4949: ELSE
4950: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_REVENUE;
4944: -- for other plan types fetch cost version..
4945:
4946: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME
4947: THEN
4948: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL;
4949: ELSE
4950: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_REVENUE;
4951: END IF;
4952:
4946: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME
4947: THEN
4948: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL;
4949: ELSE
4950: l_version_type := PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_REVENUE;
4951: END IF;
4952:
4953: PA_FIN_PLAN_UTILS.Get_Baselined_Version_Info(
4954: p_project_id => p_project_id
4991:
4992:
4993: pa_debug.g_err_stage:= 'Exiting GET_REV_BASE_VERSION_INFO';
4994: IF P_PA_DEBUG_MODE = 'Y' THEN
4995: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
4996: pa_debug.reset_err_stack;
4997: END IF;
4998: EXCEPTION
4999:
5015: END IF;
5016:
5017: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
5018: IF P_PA_DEBUG_MODE = 'Y' THEN
5019: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5020: END IF;
5021:
5022: x_return_status := FND_API.G_RET_STS_ERROR;
5023: IF P_PA_DEBUG_MODE = 'Y' THEN
5031: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FIN_PLAN_UTILS'
5032: ,p_procedure_name => 'GET_REV_BASE_VERSION_INFO');
5033: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
5034: IF P_PA_DEBUG_MODE = 'Y' THEN
5035: pa_debug.write('GET_REV_BASE_VERSION_INFO: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5036: pa_debug.reset_err_stack;
5037: END IF;
5038: END GET_REV_BASE_VERSION_INFO;
5039:
5113:
5114: pa_debug.g_err_stage:= 'Validating input parameters';
5115: IF P_PA_DEBUG_MODE = 'Y' THEN
5116: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,
5117: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
5118: END IF;
5119:
5120: --Check if plan version id is null
5121:
5126: THEN
5127:
5128: pa_debug.g_err_stage:= 'p_budget_version_id = '|| p_budget_version_id;
5129: IF P_PA_DEBUG_MODE = 'Y' THEN
5130: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5131: END IF;
5132: pa_debug.g_err_stage:= 'p_txn_currency_Code = '|| p_txn_currency_Code;
5133: IF P_PA_DEBUG_MODE = 'Y' THEN
5134: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5130: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5131: END IF;
5132: pa_debug.g_err_stage:= 'p_txn_currency_Code = '|| p_txn_currency_Code;
5133: IF P_PA_DEBUG_MODE = 'Y' THEN
5134: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5135: END IF;
5136: pa_debug.g_err_stage:= 'p_project_currency_Code = '|| p_project_currency_Code;
5137: IF P_PA_DEBUG_MODE = 'Y' THEN
5138: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5134: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5135: END IF;
5136: pa_debug.g_err_stage:= 'p_project_currency_Code = '|| p_project_currency_Code;
5137: IF P_PA_DEBUG_MODE = 'Y' THEN
5138: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5139: END IF;
5140: pa_debug.g_err_stage:= 'p_projfunc_currency_code = '|| p_projfunc_currency_code;
5141: IF P_PA_DEBUG_MODE = 'Y' THEN
5142: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5138: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5139: END IF;
5140: pa_debug.g_err_stage:= 'p_projfunc_currency_code = '|| p_projfunc_currency_code;
5141: IF P_PA_DEBUG_MODE = 'Y' THEN
5142: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5143: END IF;
5144:
5145: PA_UTILS.ADD_MESSAGE
5146: (p_app_short_name => 'PA',
5145: PA_UTILS.ADD_MESSAGE
5146: (p_app_short_name => 'PA',
5147: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
5148:
5149: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5150: END IF;
5151:
5152: DELETE FROM pa_fp_rollup_tmp;
5153: INSERT INTO pa_fp_rollup_tmp(
5199: WHERE RESOURCE_ASSIGNMENT_ID = -1;
5200:
5201: pa_debug.g_err_stage:= 'Exiting get_converted_amounts';
5202: IF P_PA_DEBUG_MODE = 'Y' THEN
5203: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
5204: pa_debug.reset_err_stack;
5205: END IF;
5206: EXCEPTION
5207:
5204: pa_debug.reset_err_stack;
5205: END IF;
5206: EXCEPTION
5207:
5208: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
5209:
5210: x_return_status := FND_API.G_RET_STS_ERROR;
5211: l_msg_count := FND_MSG_PUB.count_msg;
5212: IF l_msg_count = 1 THEN
5224: END IF;
5225:
5226: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
5227: IF P_PA_DEBUG_MODE = 'Y' THEN
5228: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5229: pa_debug.reset_err_stack;
5230: END IF;
5231: RAISE;
5232:
5240: ,p_procedure_name => 'conv_est_amounts_of_ci_version'
5241: ,p_error_text => sqlerrm);
5242: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
5243: IF P_PA_DEBUG_MODE = 'Y' THEN
5244: pa_debug.write('get_converted_amounts: ' || l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5245: pa_debug.reset_err_stack;
5246: END IF;
5247: RAISE;
5248:
5507: (p_plan_period_type IS NULL)
5508: THEN
5509: IF p_pa_debug_mode = 'Y' THEN
5510: pa_debug.g_err_stage:= 'p_period_name = '|| p_period_name;
5511: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5512: pa_debug.g_err_stage:= 'p_plan_period_type = '|| p_plan_period_type;
5513: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5514: END IF;
5515: PA_UTILS.ADD_MESSAGE
5509: IF p_pa_debug_mode = 'Y' THEN
5510: pa_debug.g_err_stage:= 'p_period_name = '|| p_period_name;
5511: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5512: pa_debug.g_err_stage:= 'p_plan_period_type = '|| p_plan_period_type;
5513: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5514: END IF;
5515: PA_UTILS.ADD_MESSAGE
5516: (p_app_short_name => 'PA',
5517: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
5515: PA_UTILS.ADD_MESSAGE
5516: (p_app_short_name => 'PA',
5517: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
5518:
5519: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5520: END IF;
5521:
5522: IF p_plan_period_type = 'PA' THEN
5523:
5531: EXCEPTION
5532: WHEN OTHERS THEN
5533: IF p_pa_debug_mode = 'Y' THEN
5534: pa_debug.g_err_stage:= 'Error while fetching the details of pa_period'||SQLERRM;
5535: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5536: END IF;
5537: RAISE;
5538: END;
5539: ELSIF p_plan_period_type = 'GL' THEN
5553: EXCEPTION
5554: WHEN OTHERS THEN
5555: IF p_pa_debug_mode = 'Y' THEN
5556: pa_debug.g_err_stage:= 'Error while fetching the details of gl_period'||SQLERRM;
5557: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5558: END IF;
5559: RAISE;
5560: END;
5561: END IF;
5561: END IF;
5562:
5563: IF p_pa_debug_mode = 'Y' THEN
5564: pa_debug.g_err_stage:= 'Exiting Get_Period_Details';
5565: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
5566: pa_debug.reset_err_stack;
5567: END IF;
5568: EXCEPTION
5569:
5566: pa_debug.reset_err_stack;
5567: END IF;
5568: EXCEPTION
5569:
5570: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
5571:
5572: x_return_status := FND_API.G_RET_STS_ERROR;
5573: l_msg_count := FND_MSG_PUB.count_msg;
5574: IF l_msg_count = 1 THEN
5599: ,p_procedure_name => 'Get_Period_Details'
5600: ,p_error_text => SQLERRM);
5601: IF p_pa_debug_mode = 'Y' THEN
5602: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
5603: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5604: pa_debug.reset_err_stack;
5605: END IF;
5606: RAISE;
5607: END Get_Period_Details;
5657: (p_number_of_periods IS NULL)
5658: THEN
5659: IF p_pa_debug_mode = 'Y' THEN
5660: pa_debug.g_err_stage:= 'p_period_name = '|| p_period_name;
5661: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5662: pa_debug.g_err_stage:= 'p_plan_period_type = '|| p_plan_period_type;
5663: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5664: pa_debug.g_err_stage:= 'p_number_of_periods = '|| p_number_of_periods;
5665: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5659: IF p_pa_debug_mode = 'Y' THEN
5660: pa_debug.g_err_stage:= 'p_period_name = '|| p_period_name;
5661: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5662: pa_debug.g_err_stage:= 'p_plan_period_type = '|| p_plan_period_type;
5663: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5664: pa_debug.g_err_stage:= 'p_number_of_periods = '|| p_number_of_periods;
5665: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5666: END IF;
5667: PA_UTILS.ADD_MESSAGE
5661: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5662: pa_debug.g_err_stage:= 'p_plan_period_type = '|| p_plan_period_type;
5663: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5664: pa_debug.g_err_stage:= 'p_number_of_periods = '|| p_number_of_periods;
5665: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5666: END IF;
5667: PA_UTILS.ADD_MESSAGE
5668: (p_app_short_name => 'PA',
5669: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
5667: PA_UTILS.ADD_MESSAGE
5668: (p_app_short_name => 'PA',
5669: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
5670:
5671: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5672: END IF;
5673:
5674: -- Fetch the start and end dates of the input period name
5675:
5682: ,x_msg_count => l_msg_count
5683: ,x_msg_data => l_msg_data );
5684:
5685: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5686: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5687: END IF;
5688:
5689: IF p_plan_period_type = 'PA' THEN
5690: BEGIN
5730: /*Fix for bug 2753123 starts */
5731: WHEN NO_DATA_FOUND THEN
5732: IF p_pa_debug_mode = 'Y' THEN
5733: pa_debug.g_err_stage:= 'Failed in shifting PA profile as Periods do not exist .'||SQLERRM;
5734: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5735: END IF;
5736: PA_UTILS.ADD_MESSAGE
5737: (p_app_short_name => 'PA',
5738: p_msg_name => 'PA_BU_INVALID_NEW_PERIOD');
5735: END IF;
5736: PA_UTILS.ADD_MESSAGE
5737: (p_app_short_name => 'PA',
5738: p_msg_name => 'PA_BU_INVALID_NEW_PERIOD');
5739: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5740: /*Fix for bug 2753123 ends */
5741: WHEN OTHERS THEN
5742: IF p_pa_debug_mode = 'Y' THEN
5743: pa_debug.g_err_stage:= 'Unexp error while fetching shifted PA period'||SQLERRM;
5740: /*Fix for bug 2753123 ends */
5741: WHEN OTHERS THEN
5742: IF p_pa_debug_mode = 'Y' THEN
5743: pa_debug.g_err_stage:= 'Unexp error while fetching shifted PA period'||SQLERRM;
5744: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5745: END IF;
5746: RAISE;
5747: END;
5748: ELSIF p_plan_period_type = 'GL' THEN
5801: /*Fix for bug 2753123 starts */
5802: WHEN NO_DATA_FOUND THEN
5803: IF p_pa_debug_mode = 'Y' THEN
5804: pa_debug.g_err_stage:= 'Failed in shifting GL profile as Periods do not exist .'||SQLERRM;
5805: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5806: END IF;
5807: PA_UTILS.ADD_MESSAGE
5808: (p_app_short_name => 'PA',
5809: p_msg_name => 'PA_BU_INVALID_NEW_PERIOD');
5806: END IF;
5807: PA_UTILS.ADD_MESSAGE
5808: (p_app_short_name => 'PA',
5809: p_msg_name => 'PA_BU_INVALID_NEW_PERIOD');
5810: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5811: /*Fix for bug 2753123 ends */
5812: WHEN OTHERS THEN
5813: IF p_pa_debug_mode = 'Y' THEN
5814: pa_debug.g_err_stage:= 'Unexp error while fetching shifted GL period'||SQLERRM;
5811: /*Fix for bug 2753123 ends */
5812: WHEN OTHERS THEN
5813: IF p_pa_debug_mode = 'Y' THEN
5814: pa_debug.g_err_stage:= 'Unexp error while fetching shifted GL period'||SQLERRM;
5815: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5816: END IF;
5817: RAISE;
5818: END;
5819:
5820: END IF;
5821:
5822: IF p_pa_debug_mode = 'Y' THEN
5823: pa_debug.g_err_stage:= 'Exiting Get_Shifted_Period';
5824: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
5825: pa_debug.reset_err_stack;
5826: END IF;
5827: EXCEPTION
5828:
5825: pa_debug.reset_err_stack;
5826: END IF;
5827: EXCEPTION
5828:
5829: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
5830:
5831: x_return_status := FND_API.G_RET_STS_ERROR;
5832: l_msg_count := FND_MSG_PUB.count_msg;
5833: IF l_msg_count = 1 THEN
5859: ,p_procedure_name => 'Get_Shifted_Period'
5860: ,p_error_text => SQLERRM);
5861: IF p_pa_debug_mode = 'Y' THEN
5862: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
5863: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5864: pa_debug.reset_err_stack;
5865: END IF;
5866: RAISE;
5867: END Get_Shifted_Period;
5931:
5932: IF p_pa_debug_mode = 'Y' THEN
5933: pa_debug.g_err_stage:= 'Validating input parameters';
5934: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5935: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
5936: END IF;
5937:
5938: IF ((p_project_id IS NULL) OR (p_version_code IS NULL) OR (p_quantity_type IS NULL)) OR
5939: ((p_version_code = C_CTRL_ITEM_VERSION) AND (p_ci_id IS NULL)) THEN
5939: ((p_version_code = C_CTRL_ITEM_VERSION) AND (p_ci_id IS NULL)) THEN
5940: IF p_pa_debug_mode = 'Y' THEN
5941: pa_debug.g_err_stage:= 'p_project_id = '|| p_project_id;
5942: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5943: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5944: pa_debug.g_err_stage:= 'p_version_code = '|| p_version_code;
5945: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5946: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5947: pa_debug.g_err_stage:= 'p_quantity_type = '|| p_quantity_type;
5942: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5943: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5944: pa_debug.g_err_stage:= 'p_version_code = '|| p_version_code;
5945: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5946: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5947: pa_debug.g_err_stage:= 'p_quantity_type = '|| p_quantity_type;
5948: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5949: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5950: pa_debug.g_err_stage:= 'p_ci_id = '|| p_ci_id;
5945: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5946: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5947: pa_debug.g_err_stage:= 'p_quantity_type = '|| p_quantity_type;
5948: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5949: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5950: pa_debug.g_err_stage:= 'p_ci_id = '|| p_ci_id;
5951: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5952: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5953: END IF;
5948: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5949: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5950: pa_debug.g_err_stage:= 'p_ci_id = '|| p_ci_id;
5951: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5952: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5953: END IF;
5954: PA_UTILS.ADD_MESSAGE
5955: (p_app_short_name => 'PA',
5956: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
5953: END IF;
5954: PA_UTILS.ADD_MESSAGE
5955: (p_app_short_name => 'PA',
5956: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
5957: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5958:
5959: END IF;
5960:
5961: IF p_version_code = C_CTRL_ITEM_VERSION THEN
5975: AND ci_id = p_ci_id;
5976:
5977: IF l_ver_count = 2 THEN
5978:
5979: OPEN cur_ci_ver(PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST, p_ci_id);
5980: FETCH cur_ci_ver INTO cur_ci_ver_rec;
5981: IF cur_ci_ver%NOTFOUND THEN
5982: IF p_pa_debug_mode = 'Y' THEN
5983: pa_debug.g_err_stage:= 'Could not fetch cost ci version details!!!...';
5981: IF cur_ci_ver%NOTFOUND THEN
5982: IF p_pa_debug_mode = 'Y' THEN
5983: pa_debug.g_err_stage:= 'Could not fetch cost ci version details!!!...';
5984: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5985: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5986: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5987: END IF;
5988: END IF;
5989: CLOSE cur_ci_ver;
5982: IF p_pa_debug_mode = 'Y' THEN
5983: pa_debug.g_err_stage:= 'Could not fetch cost ci version details!!!...';
5984: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5985: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
5986: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5987: END IF;
5988: END IF;
5989: CLOSE cur_ci_ver;
5990:
5995: IF cur_ci_ver%NOTFOUND THEN
5996: IF p_pa_debug_mode = 'Y' THEN
5997: pa_debug.g_err_stage:= 'Could not fetch ci version details!!!...';
5998: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5999: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6000: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6001: END IF;
6002: END IF;
6003: CLOSE cur_ci_ver;
5996: IF p_pa_debug_mode = 'Y' THEN
5997: pa_debug.g_err_stage:= 'Could not fetch ci version details!!!...';
5998: pa_debug.write(l_module_name,pa_debug.g_err_stage,
5999: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6000: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6001: END IF;
6002: END IF;
6003: CLOSE cur_ci_ver;
6004:
6008:
6009: IF p_pa_debug_mode = 'Y' THEN
6010: pa_debug.g_err_stage:= 'More than 2 ctrl item versions for the project!!!';
6011: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6012: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6013: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6014: END IF;
6015: END IF;
6016:
6009: IF p_pa_debug_mode = 'Y' THEN
6010: pa_debug.g_err_stage:= 'More than 2 ctrl item versions for the project!!!';
6011: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6012: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6013: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6014: END IF;
6015: END IF;
6016:
6017: ELSIF p_version_code = C_BASELINED_VERSION THEN
6025: Approved_Rev_Plan_Type_Flag = 'Y' );
6026:
6027: IF l_ver_count = 2 THEN
6028:
6029: OPEN cur_baselined_ver(PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST);
6030: FETCH cur_baselined_ver INTO cur_ci_ver_rec;
6031: CLOSE cur_baselined_ver;
6032:
6033: ELSIF l_ver_count = 1 THEN
6042:
6043: IF p_pa_debug_mode = 'Y' THEN
6044: pa_debug.g_err_stage:= 'More than 2 current baselined item versions for the project!!!';
6045: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6046: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6047: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6048: END IF;
6049:
6050: END IF;
6043: IF p_pa_debug_mode = 'Y' THEN
6044: pa_debug.g_err_stage:= 'More than 2 current baselined item versions for the project!!!';
6045: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6046: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6047: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6048: END IF;
6049:
6050: END IF;
6051:
6060: Approved_Rev_Plan_Type_Flag = 'Y' );
6061:
6062: IF l_ver_count = 2 THEN
6063:
6064: OPEN cur_working_ver(PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST);
6065: FETCH cur_working_ver INTO cur_ci_ver_rec;
6066: CLOSE cur_working_ver;
6067:
6068: ELSIF l_ver_count = 1 THEN
6077:
6078: IF p_pa_debug_mode = 'Y' THEN
6079: pa_debug.g_err_stage:= 'More than 2 current working versions for the project!!!';
6080: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6081: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6082: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6083: END IF;
6084:
6085: END IF;
6078: IF p_pa_debug_mode = 'Y' THEN
6079: pa_debug.g_err_stage:= 'More than 2 current working versions for the project!!!';
6080: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6081: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6082: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6083: END IF;
6084:
6085: END IF;
6086:
6089:
6090: IF p_pa_debug_mode = 'Y' THEN
6091: pa_debug.g_err_stage:= 'Exiting Pa_Fin_Plan_Utils.Get_Approved_Budget_Ver_Qty';
6092: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6093: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
6094: pa_debug.reset_err_stack;
6095:
6096: END IF;
6097:
6107:
6108:
6109: EXCEPTION
6110:
6111: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
6112:
6113: IF p_pa_debug_mode = 'Y' THEN
6114: pa_debug.g_err_stage := 'Invalid arg exception ..';
6115: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
6111: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
6112:
6113: IF p_pa_debug_mode = 'Y' THEN
6114: pa_debug.g_err_stage := 'Invalid arg exception ..';
6115: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
6116: pa_debug.reset_err_stack;
6117: END IF;
6118: RAISE;
6119:
6126:
6127: IF p_pa_debug_mode = 'Y' THEN
6128: pa_debug.g_err_stage:= 'Unexpected Error'||sqlerrm;
6129: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6130: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
6131: pa_debug.reset_err_stack;
6132:
6133: END IF;
6134: RAISE;
6295:
6296: IF l_debug_mode='Y' THEN
6297: pa_debug.g_err_stage:= 'Exiting validate_input_params';
6298: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6299: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
6300:
6301: pa_debug.reset_err_stack;
6302: END IF;
6303: EXCEPTION
6378: pa_debug.g_err_stage:='All the attributes are null';
6379: pa_debug.write('validate_set_of_conv_attrs: ' || l_module_name,pa_debug.g_err_stage,3);
6380: END IF;
6381:
6382: IF(p_calling_context=PA_FP_CONSTANTS_PKG.G_CR_UP_PLAN_TYPE_PAGE) THEN
6383: /* Do Nothing as this will be checked in validate_currency_attributes */
6384: NULL;
6385: ELSE
6386: x_return_status := FND_API.G_RET_STS_ERROR;
6391: /*
6392: NOTE: The following message is different from the first error code that is being
6393: passed back. This specific message is being used as this accepts tokens.
6394: */
6395: IF (p_calling_context=PA_FP_CONSTANTS_PKG.G_AMG_API_DETAIL ) THEN
6396:
6397: PA_UTILS.ADD_MESSAGE
6398: (p_app_short_name => 'PA',
6399: p_msg_name => 'PA_FP_INVALID_RATE_TYPE_AMG',
6433: pa_debug.write('validate_set_of_conv_attrs: ' || l_module_name,pa_debug.g_err_stage,3);
6434: END IF;
6435:
6436: x_return_status := FND_API.G_RET_STS_ERROR;
6437: IF (p_calling_context=PA_FP_CONSTANTS_PKG.G_AMG_API_DETAIL ) THEN
6438:
6439: PA_UTILS.ADD_MESSAGE
6440: (p_app_short_name => 'PA',
6441: p_msg_name => 'PA_FP_INVALID_RATE_TYPE_AMG',
6464: IF x_first_error_code IS NULL THEN
6465: x_first_error_code := 'PA_FP_INVALID_RATE_TYPE';
6466: END IF;
6467:
6468: ELSIF (px_rate_type = PA_FP_CONSTANTS_PKG.G_RATE_TYPE_USER ) THEN
6469:
6470: IF l_debug_mode = 'Y' THEN
6471: pa_debug.g_err_stage:='Rate Type is User';
6472: pa_debug.write('validate_set_of_conv_attrs: ' || l_module_name,pa_debug.g_err_stage,3);
6471: pa_debug.g_err_stage:='Rate Type is User';
6472: pa_debug.write('validate_set_of_conv_attrs: ' || l_module_name,pa_debug.g_err_stage,3);
6473: END IF;
6474: --Added the constant G_AMG_API_HEADER as part of changes due to finplan model in AMG
6475: IF (px_rate IS NULL AND nvl(p_calling_context,'-99') NOT IN ( PA_FP_CONSTANTS_PKG.G_CR_UP_PLAN_TYPE_PAGE
6476: ,PA_FP_CONSTANTS_PKG.G_AMG_API_HEADER) )THEN
6477:
6478: /* on create update plan type it is allowed that when rate type is user there is no rate defined
6479: */
6472: pa_debug.write('validate_set_of_conv_attrs: ' || l_module_name,pa_debug.g_err_stage,3);
6473: END IF;
6474: --Added the constant G_AMG_API_HEADER as part of changes due to finplan model in AMG
6475: IF (px_rate IS NULL AND nvl(p_calling_context,'-99') NOT IN ( PA_FP_CONSTANTS_PKG.G_CR_UP_PLAN_TYPE_PAGE
6476: ,PA_FP_CONSTANTS_PKG.G_AMG_API_HEADER) )THEN
6477:
6478: /* on create update plan type it is allowed that when rate type is user there is no rate defined
6479: */
6480: x_return_status := FND_API.G_RET_STS_ERROR;
6478: /* on create update plan type it is allowed that when rate type is user there is no rate defined
6479: */
6480: x_return_status := FND_API.G_RET_STS_ERROR;
6481:
6482: IF (p_calling_context=PA_FP_CONSTANTS_PKG.G_AMG_API_DETAIL ) THEN
6483: PA_UTILS.ADD_MESSAGE
6484: (p_app_short_name => 'PA',
6485: p_msg_name => 'PA_FP_USER_EXCH_RATE_REQ_AMG',
6486: p_token1 => 'TASK',
6515:
6516: /* Null out the Rate Date Type and Rate Date */
6517: px_rate_date_type := null;
6518: px_rate_date := null;
6519: -- x_validity_code:=PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR; Not required
6520:
6521: END IF;
6522:
6523: IF x_first_error_code IS NULL THEN
6532: pa_debug.write('validate_set_of_conv_attrs: ' || l_module_name,pa_debug.g_err_stage,3);
6533: END IF;
6534:
6535: x_return_status := FND_API.G_RET_STS_ERROR;
6536: IF (p_calling_context=PA_FP_CONSTANTS_PKG.G_AMG_API_DETAIL ) THEN
6537:
6538: PA_UTILS.ADD_MESSAGE
6539: (p_app_short_name => 'PA',
6540: p_msg_name => 'PA_FP_INVALID_RATE_DT_TYP_AMG',
6563: x_first_error_code := 'PA_FP_INVALID_RATE_DATE_TYPE';
6564: END IF;
6565:
6566: /* this means that rate type is not null and its value is not user and rate_date_type value is FIXED */
6567: ELSIF px_rate_date_type = PA_FP_CONSTANTS_PKG.G_RATE_DATE_TYPE_FIXED_DATE THEN
6568:
6569: IF l_debug_mode = 'Y' THEN
6570: pa_debug.g_err_stage:='Rate Date Type is Fixed';
6571: pa_debug.write('validate_set_of_conv_attrs: ' || l_module_name,pa_debug.g_err_stage,3);
6574: /* Rate Date Should not be null */
6575: IF (px_rate_date IS NULL) THEN
6576:
6577: x_return_status := FND_API.G_RET_STS_ERROR;
6578: IF (p_calling_context=PA_FP_CONSTANTS_PKG.G_AMG_API_DETAIL ) THEN
6579: PA_UTILS.ADD_MESSAGE
6580: (p_app_short_name => 'PA',
6581: p_msg_name => 'PA_FP_INVALID_RATE_DATE_AMG',
6582: p_token1 => 'TASK',
6603: x_first_error_code := 'PA_FP_INVALID_RATE_DATE';
6604: END IF;
6605: ELSE
6606: px_rate:=null;
6607: -- x_validity_code := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR; Not required
6608: END IF;
6609:
6610: /* This means that rate type is not null and its value is not user
6611: and rate_date_type is not null and its value is NOT FIXED. This is a valid set.*/
6612: ELSE
6613: /* CHECK IF THIS NEEDS TO BE DONE IN CASE ITS CALLED FROM EDIT PLAN LINE PAGES */
6614: px_rate_date := null;
6615: px_rate := null;
6616: -- x_validity_code:=PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6617:
6618: END IF;
6619:
6620: IF l_debug_mode = 'Y' THEN
6619:
6620: IF l_debug_mode = 'Y' THEN
6621: pa_debug.g_err_stage:= 'Exiting validate_conv_attributes';
6622: pa_debug.write(l_module_name,pa_debug.g_err_stage,
6623: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
6624:
6625: pa_debug.reset_err_stack;
6626: END IF;
6627: EXCEPTION
6690: l_rate_date_type pa_proj_fp_options.project_cost_rate_date_type%TYPE;
6691: l_rate_date pa_proj_fp_options.project_cost_rate_date%TYPE;
6692: l_rate pa_budget_lines.project_rev_exchange_rate%TYPE ;
6693: l_validity_code VARCHAR2(30);*/
6694: l_pc_cost_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6695: l_pc_rev_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6696: l_pfc_cost_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6697: l_pfc_rev_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6698: l_project_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6691: l_rate_date pa_proj_fp_options.project_cost_rate_date%TYPE;
6692: l_rate pa_budget_lines.project_rev_exchange_rate%TYPE ;
6693: l_validity_code VARCHAR2(30);*/
6694: l_pc_cost_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6695: l_pc_rev_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6696: l_pfc_cost_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6697: l_pfc_rev_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6698: l_project_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6699: l_projfunc_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6692: l_rate pa_budget_lines.project_rev_exchange_rate%TYPE ;
6693: l_validity_code VARCHAR2(30);*/
6694: l_pc_cost_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6695: l_pc_rev_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6696: l_pfc_cost_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6697: l_pfc_rev_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6698: l_project_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6699: l_projfunc_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6700: l_cost_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6693: l_validity_code VARCHAR2(30);*/
6694: l_pc_cost_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6695: l_pc_rev_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6696: l_pfc_cost_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6697: l_pfc_rev_validity_code VARCHAR2(30) := PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR;
6698: l_project_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6699: l_projfunc_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6700: l_cost_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6701: l_rev_token fnd_new_messages.message_text%TYPE; --bug 2848406 VARCHAR2(30);
6742: IF l_debug_mode = 'Y' THEN
6743: pa_debug.g_err_stage := 'Invalid parameters passed' ;
6744: pa_debug.write('validate_currency_attributes: ' || l_module_name,pa_debug.g_err_stage,1);
6745: END IF;
6746: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6747:
6748: END IF;
6749:
6750:
6754: END IF;
6755:
6756: /*Get the message tokens that may be required while validating the attributes*/
6757:
6758: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_COST_TOKEN_MESSAGE);
6759: l_cost_token := FND_MESSAGE.GET;
6760:
6761: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_REV_TOKEN_MESSAGE);
6762: l_rev_token := FND_MESSAGE.GET;
6757:
6758: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_COST_TOKEN_MESSAGE);
6759: l_cost_token := FND_MESSAGE.GET;
6760:
6761: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_REV_TOKEN_MESSAGE);
6762: l_rev_token := FND_MESSAGE.GET;
6763:
6764: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_PROJECT_TOKEN_MESSAGE);
6765: l_project_token := FND_MESSAGE.GET;
6760:
6761: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_REV_TOKEN_MESSAGE);
6762: l_rev_token := FND_MESSAGE.GET;
6763:
6764: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_PROJECT_TOKEN_MESSAGE);
6765: l_project_token := FND_MESSAGE.GET;
6766:
6767: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_PROJFUNC_TOKEN_MESSAGE);
6768: l_projfunc_token := FND_MESSAGE.GET;
6763:
6764: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_PROJECT_TOKEN_MESSAGE);
6765: l_project_token := FND_MESSAGE.GET;
6766:
6767: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_PROJFUNC_TOKEN_MESSAGE);
6768: l_projfunc_token := FND_MESSAGE.GET;
6769:
6770: IF (p_context=PA_FP_CONSTANTS_PKG.G_AMG_API_HEADER OR
6771: p_context=PA_FP_CONSTANTS_PKG.G_AMG_API_DETAIL ) THEN
6766:
6767: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_PROJFUNC_TOKEN_MESSAGE);
6768: l_projfunc_token := FND_MESSAGE.GET;
6769:
6770: IF (p_context=PA_FP_CONSTANTS_PKG.G_AMG_API_HEADER OR
6771: p_context=PA_FP_CONSTANTS_PKG.G_AMG_API_DETAIL ) THEN
6772:
6773: VALIDATE_INPUT_PARAMS(p_project_cost_rate_type => px_project_cost_rate_type
6774: ,p_project_cost_rate_date_typ => px_project_cost_rate_date_typ
6767: FND_MESSAGE.SET_NAME ('PA',PA_FP_CONSTANTS_PKG.G_PROJFUNC_TOKEN_MESSAGE);
6768: l_projfunc_token := FND_MESSAGE.GET;
6769:
6770: IF (p_context=PA_FP_CONSTANTS_PKG.G_AMG_API_HEADER OR
6771: p_context=PA_FP_CONSTANTS_PKG.G_AMG_API_DETAIL ) THEN
6772:
6773: VALIDATE_INPUT_PARAMS(p_project_cost_rate_type => px_project_cost_rate_type
6774: ,p_project_cost_rate_date_typ => px_project_cost_rate_date_typ
6775: ,p_projfunc_cost_rate_type => px_projfunc_cost_rate_type
6791: IF l_debug_mode = 'Y' THEN
6792: pa_debug.g_err_stage := 'Values for rate type and rate date types are not valied' ;
6793: pa_debug.write('validate_currency_attributes: ' || l_module_name,pa_debug.g_err_stage,1);
6794: END IF;
6795: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6796:
6797: END IF;
6798: END IF;
6799:
6805: /* initialize any error occurred flag to N */
6806: l_any_error_occurred_flag := 'N';
6807:
6808: /* Initialize the globals to null in webadi context */
6809: IF p_context = PA_FP_CONSTANTS_PKG.G_WEBADI THEN
6810: g_first_error_code := NULL;
6811: g_pc_pfc_context := NULL;
6812: g_cost_rev_context := NULL;
6813: END IF;
6811: g_pc_pfc_context := NULL;
6812: g_cost_rev_context := NULL;
6813: END IF;
6814:
6815: IF(p_attrs_to_be_validated = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST OR
6816: p_attrs_to_be_validated = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_BOTH) THEN
6817:
6818: -- Txn curr code <> PFC
6819: --IF PFC needs to be validated THEN
6812: g_cost_rev_context := NULL;
6813: END IF;
6814:
6815: IF(p_attrs_to_be_validated = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST OR
6816: p_attrs_to_be_validated = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_BOTH) THEN
6817:
6818: -- Txn curr code <> PFC
6819: --IF PFC needs to be validated THEN
6820: IF nvl(p_txn_currency_code,'-99') <> p_projfunc_currency_code THEN
6838: END IF;
6839: l_any_error_occurred_flag := 'Y';
6840:
6841: /* webADI looks only for the first error message */
6842: --IF p_context = PA_FP_CONSTANTS_PKG.G_WEBADI and
6843: IF g_first_error_code IS NULL and
6844: l_first_error_code IS NOT NULL THEN
6845:
6846: g_first_error_code := l_first_error_code;
6843: IF g_first_error_code IS NULL and
6844: l_first_error_code IS NOT NULL THEN
6845:
6846: g_first_error_code := l_first_error_code;
6847: g_pc_pfc_context := PA_FP_CONSTANTS_PKG.G_CURRENCY_TYPE_PROJFUNC;
6848: g_cost_rev_context := PA_FP_CONSTANTS_PKG.G_AMOUNT_TYPE_COST;
6849:
6850: /* No further processing is required in context of webadi */
6851: --RETURN;
6844: l_first_error_code IS NOT NULL THEN
6845:
6846: g_first_error_code := l_first_error_code;
6847: g_pc_pfc_context := PA_FP_CONSTANTS_PKG.G_CURRENCY_TYPE_PROJFUNC;
6848: g_cost_rev_context := PA_FP_CONSTANTS_PKG.G_AMOUNT_TYPE_COST;
6849:
6850: /* No further processing is required in context of webadi */
6851: --RETURN;
6852:
6852:
6853: END IF;
6854: END IF;
6855:
6856: l_pfc_cost_validity_code := nvl(l_first_error_code,PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR);
6857:
6858: END IF;
6859:
6860: --IF PC needs to be validated THEN
6880: END IF;
6881: l_any_error_occurred_flag := 'Y';
6882:
6883: /* webADI looks only for the first error message */
6884: --IF p_context = PA_FP_CONSTANTS_PKG.G_WEBADI and
6885: IF g_first_error_code IS NULL and
6886: l_first_error_code IS NOT NULL
6887: THEN
6888: g_first_error_code := l_first_error_code;
6885: IF g_first_error_code IS NULL and
6886: l_first_error_code IS NOT NULL
6887: THEN
6888: g_first_error_code := l_first_error_code;
6889: g_pc_pfc_context := PA_FP_CONSTANTS_PKG.G_CURRENCY_TYPE_PROJECT;
6890: g_cost_rev_context := PA_FP_CONSTANTS_PKG.G_AMOUNT_TYPE_COST;
6891:
6892: /* No further processing is required in context of webadi */
6893: -- RETURN;
6886: l_first_error_code IS NOT NULL
6887: THEN
6888: g_first_error_code := l_first_error_code;
6889: g_pc_pfc_context := PA_FP_CONSTANTS_PKG.G_CURRENCY_TYPE_PROJECT;
6890: g_cost_rev_context := PA_FP_CONSTANTS_PKG.G_AMOUNT_TYPE_COST;
6891:
6892: /* No further processing is required in context of webadi */
6893: -- RETURN;
6894: END IF;
6893: -- RETURN;
6894: END IF;
6895:
6896: END IF;
6897: l_pc_cost_validity_code := nvl(l_first_error_code,PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR);
6898: END IF;
6899:
6900: -- If PC = PFC copy the PFC attributes to PC. WEBADI UT
6901: IF p_project_currency_code = p_projfunc_currency_code THEN
6906: END IF;
6907:
6908: END IF; -- element type cost or both.
6909:
6910: IF(p_attrs_to_be_validated = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE OR
6911: p_attrs_to_be_validated = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_BOTH) THEN
6912:
6913: --IF PFC needs to be validated THEN
6914: IF nvl(p_txn_currency_code,'-99') <> p_projfunc_currency_code THEN
6907:
6908: END IF; -- element type cost or both.
6909:
6910: IF(p_attrs_to_be_validated = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE OR
6911: p_attrs_to_be_validated = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_BOTH) THEN
6912:
6913: --IF PFC needs to be validated THEN
6914: IF nvl(p_txn_currency_code,'-99') <> p_projfunc_currency_code THEN
6915: /* Validate the project functional Cost attributes*/
6931: END IF;
6932: l_any_error_occurred_flag := 'Y';
6933:
6934: /* webADI looks only for the first error message */
6935: --IF p_context = PA_FP_CONSTANTS_PKG.G_WEBADI and
6936: IF g_first_error_code IS NULL and
6937: l_first_error_code IS NOT NULL
6938: THEN
6939: g_first_error_code := l_first_error_code;
6936: IF g_first_error_code IS NULL and
6937: l_first_error_code IS NOT NULL
6938: THEN
6939: g_first_error_code := l_first_error_code;
6940: g_pc_pfc_context := PA_FP_CONSTANTS_PKG.G_CURRENCY_TYPE_PROJFUNC;
6941: g_cost_rev_context := PA_FP_CONSTANTS_PKG.G_AMOUNT_TYPE_REVENUE;
6942:
6943: /* No further processing is required in context of webadi */
6944: --RETURN;
6937: l_first_error_code IS NOT NULL
6938: THEN
6939: g_first_error_code := l_first_error_code;
6940: g_pc_pfc_context := PA_FP_CONSTANTS_PKG.G_CURRENCY_TYPE_PROJFUNC;
6941: g_cost_rev_context := PA_FP_CONSTANTS_PKG.G_AMOUNT_TYPE_REVENUE;
6942:
6943: /* No further processing is required in context of webadi */
6944: --RETURN;
6945: END IF;
6945: END IF;
6946:
6947: END IF;
6948:
6949: l_pfc_rev_validity_code := nvl(l_first_error_code,PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR);
6950: END IF;
6951:
6952: --IF PC needs to be validated THEN
6953: IF nvl(p_txn_currency_code,'-99') <> p_project_currency_code AND
6972: END IF;
6973: l_any_error_occurred_flag := 'Y';
6974:
6975: /* webADI looks only for the first error message */
6976: --IF p_context = PA_FP_CONSTANTS_PKG.G_WEBADI and
6977: IF g_first_error_code IS NULL and
6978: l_first_error_code IS NOT NULL
6979: THEN
6980: g_first_error_code := l_first_error_code;
6977: IF g_first_error_code IS NULL and
6978: l_first_error_code IS NOT NULL
6979: THEN
6980: g_first_error_code := l_first_error_code;
6981: g_pc_pfc_context := PA_FP_CONSTANTS_PKG.G_CURRENCY_TYPE_PROJECT;
6982: g_cost_rev_context := PA_FP_CONSTANTS_PKG.G_AMOUNT_TYPE_REVENUE;
6983:
6984: /* No further processing is required in context of webadi */
6985: --RETURN;
6978: l_first_error_code IS NOT NULL
6979: THEN
6980: g_first_error_code := l_first_error_code;
6981: g_pc_pfc_context := PA_FP_CONSTANTS_PKG.G_CURRENCY_TYPE_PROJECT;
6982: g_cost_rev_context := PA_FP_CONSTANTS_PKG.G_AMOUNT_TYPE_REVENUE;
6983:
6984: /* No further processing is required in context of webadi */
6985: --RETURN;
6986:
6986:
6987: END IF;
6988:
6989: END IF;
6990: l_pc_rev_validity_code := nvl(l_first_error_code,PA_FP_CONSTANTS_PKG.G_VALID_CONV_ATTR);
6991: END IF;
6992:
6993: -- If PC = PFC copy the PFC attributes to PC. WEBADI UT
6994: IF p_project_currency_code = p_projfunc_currency_code THEN
7004:
7005: IF l_debug_mode='Y' THEN
7006: pa_debug.g_err_stage:= 'p_context is '||p_context;
7007: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7008: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7009: END IF;
7010:
7011: IF (p_context=PA_FP_CONSTANTS_PKG.G_CR_UP_PLAN_TYPE_PAGE) THEN
7012:
7007: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7008: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7009: END IF;
7010:
7011: IF (p_context=PA_FP_CONSTANTS_PKG.G_CR_UP_PLAN_TYPE_PAGE) THEN
7012:
7013: /*Either all the cost attributes should be null or both project and project functional
7014: cost attributes should be valid
7015: */
7069:
7070: IF l_any_error_occurred_flag = 'Y' THEN
7071: IF l_debug_mode='Y' THEN
7072: pa_debug.g_err_stage:= 'some of the conversion attributes failed.. Returning error';
7073: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7074: END IF;
7075:
7076: x_return_status := FND_API.G_RET_STS_ERROR;
7077: END IF;
7078:
7079: IF l_debug_mode='Y' THEN
7080: pa_debug.g_err_stage:= 'Exiting validate_currency_attributes';
7081: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7082: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7083:
7084: pa_debug.reset_err_stack;
7085: END IF;
7086: EXCEPTION
7083:
7084: pa_debug.reset_err_stack;
7085: END IF;
7086: EXCEPTION
7087: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
7088: x_return_status := FND_API.G_RET_STS_ERROR;
7089: l_msg_count := FND_MSG_PUB.count_msg;
7090: IF l_msg_count = 1 THEN
7091: PA_INTERFACE_UTILS_PUB.get_messages
7170: -- Check for business rules violations
7171: IF l_debug_mode = 'Y' THEN
7172: pa_debug.g_err_stage:= 'Entering PA_FIN_PLAN_UTILS.GET_PLAN_TYPE_OPTS_FOR_VER';
7173: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7174: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7175: END IF;
7176:
7177: IF l_debug_mode = 'Y' THEN
7178: pa_debug.g_err_stage:= 'Validating input parameters';
7176:
7177: IF l_debug_mode = 'Y' THEN
7178: pa_debug.g_err_stage:= 'Validating input parameters';
7179: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7180: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7181: END IF;
7182:
7183: IF (p_plan_version_id IS NULL) THEN
7184: IF l_debug_mode = 'Y' THEN
7183: IF (p_plan_version_id IS NULL) THEN
7184: IF l_debug_mode = 'Y' THEN
7185: pa_debug.g_err_stage:= 'plan version id is null';
7186: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7187: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7188: END IF;
7189: PA_UTILS.ADD_MESSAGE
7190: (p_app_short_name => 'PA',
7191: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7188: END IF;
7189: PA_UTILS.ADD_MESSAGE
7190: (p_app_short_name => 'PA',
7191: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7192: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7193:
7194: END IF;
7195:
7196: open plan_type_cur(p_plan_version_id);
7199:
7200: IF plan_type_cur%NOTFOUND THEN
7201: IF l_debug_mode = 'Y' THEN
7202: pa_debug.g_err_stage:= 'Plan type record not found';
7203: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7204: END IF;
7205: CLOSE plan_type_cur;
7206: RAISE NO_DATA_FOUND;
7207: END IF;
7209: CLOSE plan_type_cur;
7210:
7211: IF l_debug_mode = 'Y' THEN
7212: pa_debug.g_err_stage:= 'Plan type id->'||x_fin_plan_type_id;
7213: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7214: pa_debug.g_err_stage:= 'Plan type option id->'||x_plan_type_option_id;
7215: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7216: END IF;
7217:
7211: IF l_debug_mode = 'Y' THEN
7212: pa_debug.g_err_stage:= 'Plan type id->'||x_fin_plan_type_id;
7213: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7214: pa_debug.g_err_stage:= 'Plan type option id->'||x_plan_type_option_id;
7215: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7216: END IF;
7217:
7218: IF l_debug_mode = 'Y' THEN
7219: pa_debug.g_err_stage:= 'Exiting GET_PLAN_TYPE_OPTS_FOR_VER';
7217:
7218: IF l_debug_mode = 'Y' THEN
7219: pa_debug.g_err_stage:= 'Exiting GET_PLAN_TYPE_OPTS_FOR_VER';
7220: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7221: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7222: pa_debug.reset_err_stack;
7223:
7224: END IF;
7225:
7224: END IF;
7225:
7226: EXCEPTION
7227:
7228: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
7229:
7230: x_return_status := FND_API.G_RET_STS_ERROR;
7231: l_msg_count := FND_MSG_PUB.count_msg;
7232:
7261:
7262: IF l_debug_mode = 'Y' THEN
7263: pa_debug.g_err_stage:= 'Unexpected Error'||x_msg_data;
7264: pa_debug.write(L_module_name,pa_debug.g_err_stage,
7265: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7266: pa_debug.reset_err_stack;
7267:
7268: END IF;
7269: RAISE;
7307: IF (p_project_id IS NULL)
7308: THEN
7309: IF p_pa_debug_mode = 'Y' THEN
7310: pa_debug.g_err_stage:= 'p_project_id = '|| p_project_id;
7311: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7312: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
7313: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7314: END IF;
7315: PA_UTILS.ADD_MESSAGE
7309: IF p_pa_debug_mode = 'Y' THEN
7310: pa_debug.g_err_stage:= 'p_project_id = '|| p_project_id;
7311: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7312: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
7313: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7314: END IF;
7315: PA_UTILS.ADD_MESSAGE
7316: (p_app_short_name => 'PA',
7317: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7314: END IF;
7315: PA_UTILS.ADD_MESSAGE
7316: (p_app_short_name => 'PA',
7317: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7318: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7319: END IF;
7320:
7321: -- Fetch the cost rate types for project currency and projfunc currency
7322:
7321: -- Fetch the cost rate types for project currency and projfunc currency
7322:
7323: IF p_pa_debug_mode = 'Y' THEN
7324: pa_debug.g_err_stage:= 'Fetching cost rate types for project = '||p_project_id;
7325: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7326: END IF;
7327:
7328: SELECT p.multi_currency_billing_flag
7329: ,p.project_currency_code
7348: This has been added as part of code merge */
7349:
7350: IF p_pa_debug_mode = 'Y' THEN
7351: pa_debug.g_err_stage:= 'Exiting Get_Project_Curr_Attributes';
7352: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7353: pa_debug.reset_curr_function;
7354: END IF;
7355: EXCEPTION
7356:
7353: pa_debug.reset_curr_function;
7354: END IF;
7355: EXCEPTION
7356:
7357: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
7358:
7359: x_return_status := FND_API.G_RET_STS_ERROR;
7360: l_msg_count := FND_MSG_PUB.count_msg;
7361: IF l_msg_count = 1 THEN
7385: ,p_procedure_name => 'Get_Project_Curr_Attributes'
7386: ,p_error_text => SQLERRM);
7387: IF p_pa_debug_mode = 'Y' THEN
7388: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
7389: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7390: pa_debug.reset_curr_function;
7391: END IF;
7392: RAISE;
7393: END Get_Project_Curr_Attributes;
7416: pft.use_for_workplan_flag -- Added for FP.M ,Tracking Bug No - 3354518
7417: FROM pa_projects_all pr, pa_proj_fp_options pfo,
7418: pa_fin_plan_types_b pft -- Added for FP.M ,Tracking Bug No - 3354518
7419: WHERE pr.project_id = pfo.project_id
7420: AND pfo.fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE
7421: AND pfo.fin_plan_type_id = p_fin_plan_type_id
7422: AND pfo.project_id = p_project_id
7423: AND pft.fin_plan_type_id = p_fin_plan_type_id; -- Added for FP.M ,Tracking Bug No - 3354518
7424:
7438:
7439: IF l_debug_mode = 'Y' THEN
7440: pa_debug.g_err_stage:= 'Validating input parameters';
7441: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7442: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7443: END IF;
7444:
7445: IF (p_project_id IS NULL) OR (p_fin_plan_type_id IS NULL)
7446: THEN
7446: THEN
7447: IF l_debug_mode = 'Y' THEN
7448: pa_debug.g_err_stage:= 'p_project_id = '|| p_project_id;
7449: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7450: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7451: pa_debug.g_err_stage:= 'p_fin_plan_type_id = '|| p_fin_plan_type_id;
7452: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7453: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7454: END IF;
7449: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7450: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7451: pa_debug.g_err_stage:= 'p_fin_plan_type_id = '|| p_fin_plan_type_id;
7452: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7453: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7454: END IF;
7455: PA_UTILS.ADD_MESSAGE
7456: (p_app_short_name => 'PA',
7457: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7454: END IF;
7455: PA_UTILS.ADD_MESSAGE
7456: (p_app_short_name => 'PA',
7457: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7458: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7459:
7460: END IF;
7461:
7462: x_creation_allowed := 'Y';
7478:
7479: IF l_debug_mode = 'Y' THEN
7480: pa_debug.g_err_stage:= 'Exiting IsRevVersionCreationAllowed';
7481: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7482: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7483: pa_debug.reset_curr_function;
7484: END IF;
7485: EXCEPTION
7486:
7483: pa_debug.reset_curr_function;
7484: END IF;
7485: EXCEPTION
7486:
7487: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
7488:
7489: x_return_status := FND_API.G_RET_STS_ERROR;
7490: l_msg_count := FND_MSG_PUB.count_msg;
7491:
7528:
7529: IF l_debug_mode = 'Y' THEN
7530: pa_debug.g_err_stage:= 'Unexpected Error'||x_msg_data;
7531: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7532: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7533: pa_debug.reset_curr_function;
7534: END IF;
7535: RAISE;
7536:
7579:
7580: IF l_debug_mode = 'Y' THEN
7581: pa_debug.g_err_stage:= 'Validating input parameters';
7582: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7583: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7584: END IF;
7585:
7586: IF (p_lookup_type IS NULL) OR
7587: (p_lookup_meaning IS NULL)
7588: THEN
7589: IF l_debug_mode = 'Y' THEN
7590: pa_debug.g_err_stage:= 'p_lookup_type = '|| p_lookup_type;
7591: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7592: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7593: pa_debug.g_err_stage:= 'p_lookup_meaning = '|| p_lookup_meaning;
7594: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7595: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7596: END IF;
7591: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7592: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7593: pa_debug.g_err_stage:= 'p_lookup_meaning = '|| p_lookup_meaning;
7594: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7595: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7596: END IF;
7597: PA_UTILS.ADD_MESSAGE
7598: (p_app_short_name => 'PA',
7599: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7596: END IF;
7597: PA_UTILS.ADD_MESSAGE
7598: (p_app_short_name => 'PA',
7599: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7600: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7601:
7602: END IF;
7603:
7604: open lookups_cur;
7608: IF lookups_cur%NOTFOUND THEN
7609: IF l_debug_mode = 'Y' THEN
7610: pa_debug.g_err_stage:= 'could not obtain lookup code';
7611: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7612: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7613: END IF;
7614: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7615: END IF;
7616:
7610: pa_debug.g_err_stage:= 'could not obtain lookup code';
7611: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7612: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7613: END IF;
7614: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7615: END IF;
7616:
7617: close lookups_cur;
7618:
7618:
7619: IF l_debug_mode = 'Y' THEN
7620: pa_debug.g_err_stage:= 'Exiting GET_LOOKUP_CODE';
7621: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7622: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
7623: pa_debug.reset_curr_function;
7624: END IF;
7625: EXCEPTION
7626:
7623: pa_debug.reset_curr_function;
7624: END IF;
7625: EXCEPTION
7626:
7627: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
7628:
7629: x_return_status := FND_API.G_RET_STS_ERROR;
7630: l_msg_count := FND_MSG_PUB.count_msg;
7631:
7668:
7669: IF l_debug_mode = 'Y' THEN
7670: pa_debug.g_err_stage:= 'Unexpected Error'||x_msg_data;
7671: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7672: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7673: pa_debug.reset_curr_function;
7674: END IF;
7675: RAISE;
7676:
7718: SELECT fin_plan_preference_code
7719: FROM pa_proj_fp_options
7720: WHERE project_id=p_project_id
7721: AND fin_plan_type_id=p_fin_plan_type_id
7722: AND fin_plan_option_level_code= PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
7723:
7724: l_proj_fp_options_rec l_proj_fp_options_csr%ROWTYPE;
7725:
7726: l_msg_count NUMBER := 0;
7767: p_token3 => 'VERSION_TYPE',
7768: p_value3 => px_version_type);
7769:
7770: x_return_status := FND_API.G_RET_STS_ERROR;
7771: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7772:
7773: END;
7774:
7775: -- Get the segment1 of the project
7786:
7787: IF l_debug_mode = 'Y' THEN
7788: pa_debug.g_err_stage:= 'p_project_id = '|| p_project_id;
7789: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7790: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7791: pa_debug.g_err_stage:= 'p_fin_plan_type_id = '|| p_fin_plan_type_id;
7792: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7793: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7794: END IF;
7789: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7790: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7791: pa_debug.g_err_stage:= 'p_fin_plan_type_id = '|| p_fin_plan_type_id;
7792: pa_debug.write(l_module_name,pa_debug.g_err_stage,
7793: PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
7794: END IF;
7795:
7796: PA_UTILS.ADD_MESSAGE
7797: (p_app_short_name => 'PA',
7802: p_value2 => l_fin_plan_type_name);
7803:
7804:
7805: CLOSE l_proj_fp_options_csr;
7806: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7807:
7808: END IF;
7809: CLOSE l_proj_fp_options_csr;
7810:
7808: END IF;
7809: CLOSE l_proj_fp_options_csr;
7810:
7811: IF (l_proj_fp_options_rec.fin_plan_preference_code
7812: =PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY) THEN
7813:
7814: IF ( px_version_type IS NULL ) THEN
7815:
7816: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST ;
7812: =PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY) THEN
7813:
7814: IF ( px_version_type IS NULL ) THEN
7815:
7816: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST ;
7817:
7818: ELSIF(px_version_type <> PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST) THEN
7819:
7820: IF l_debug_mode = 'Y' THEN
7814: IF ( px_version_type IS NULL ) THEN
7815:
7816: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST ;
7817:
7818: ELSIF(px_version_type <> PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST) THEN
7819:
7820: IF l_debug_mode = 'Y' THEN
7821: pa_debug.g_err_stage := 'Version type passed is '||px_version_type ;
7822: pa_debug.write(l_module_name,pa_debug.g_err_stage,l_debug_level3);
7832: p_token3 => 'VERSION_TYPE',
7833: p_value3 => px_version_type);
7834:
7835: x_return_status := FND_API.G_RET_STS_ERROR;
7836: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7837:
7838: END IF;
7839:
7840: ELSIF (l_proj_fp_options_rec.fin_plan_preference_code
7837:
7838: END IF;
7839:
7840: ELSIF (l_proj_fp_options_rec.fin_plan_preference_code
7841: =PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY) THEN
7842:
7843: IF ( px_version_type IS NULL) THEN
7844:
7845: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE ;
7841: =PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY) THEN
7842:
7843: IF ( px_version_type IS NULL) THEN
7844:
7845: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE ;
7846:
7847: ELSIF(px_version_type <> PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE) THEN
7848:
7849: IF l_debug_mode = 'Y' THEN
7843: IF ( px_version_type IS NULL) THEN
7844:
7845: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE ;
7846:
7847: ELSIF(px_version_type <> PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE) THEN
7848:
7849: IF l_debug_mode = 'Y' THEN
7850: pa_debug.g_err_stage := 'Version type passed is '||px_version_type ;
7851: pa_debug.write(l_module_name,pa_debug.g_err_stage,l_debug_level3);
7860: p_value2 => l_fin_plan_type_name,
7861: p_token3 => 'VERSION_TYPE',
7862: p_value3 => px_version_type);
7863: x_return_status := FND_API.G_RET_STS_ERROR;
7864: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7865:
7866: END IF;
7867:
7868: ELSIF (l_proj_fp_options_rec.fin_plan_preference_code
7865:
7866: END IF;
7867:
7868: ELSIF (l_proj_fp_options_rec.fin_plan_preference_code
7869: =PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME) THEN
7870:
7871: IF ( px_version_type IS NULL ) THEN
7872:
7873: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL ;
7869: =PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME) THEN
7870:
7871: IF ( px_version_type IS NULL ) THEN
7872:
7873: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL ;
7874:
7875: ELSIF(px_version_type <> PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL) THEN
7876:
7877: IF l_debug_mode = 'Y' THEN
7871: IF ( px_version_type IS NULL ) THEN
7872:
7873: px_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL ;
7874:
7875: ELSIF(px_version_type <> PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL) THEN
7876:
7877: IF l_debug_mode = 'Y' THEN
7878: pa_debug.g_err_stage := 'Version type passed is '||px_version_type ;
7879: pa_debug.write(l_module_name,pa_debug.g_err_stage, l_debug_level3);
7889: p_token3 => 'VERSION_TYPE',
7890: p_value3 => px_version_type);
7891:
7892: x_return_status := FND_API.G_RET_STS_ERROR;
7893: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7894:
7895: END IF;
7896:
7897: ELSIF (l_proj_fp_options_rec.fin_plan_preference_code
7894:
7895: END IF;
7896:
7897: ELSIF (l_proj_fp_options_rec.fin_plan_preference_code
7898: =PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP) THEN
7899:
7900: IF( px_version_type IS NULL) THEN
7901:
7902: IF l_debug_mode = 'Y' THEN
7911: p_value1 => l_segment1,
7912: p_token2 => 'PLAN_TYPE',
7913: p_value2 => l_fin_plan_type_name);
7914: x_return_status := FND_API.G_RET_STS_ERROR;
7915: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7916:
7917: ELSIF( px_version_type = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST
7918: OR px_version_type = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE) THEN
7919:
7913: p_value2 => l_fin_plan_type_name);
7914: x_return_status := FND_API.G_RET_STS_ERROR;
7915: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7916:
7917: ELSIF( px_version_type = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST
7918: OR px_version_type = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE) THEN
7919:
7920: px_version_type:= px_version_type ;
7921: ELSE-- version type is neither COST nor REVENUE
7914: x_return_status := FND_API.G_RET_STS_ERROR;
7915: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7916:
7917: ELSIF( px_version_type = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST
7918: OR px_version_type = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE) THEN
7919:
7920: px_version_type:= px_version_type ;
7921: ELSE-- version type is neither COST nor REVENUE
7922:
7935: p_token3 => 'VERSION_TYPE',
7936: p_value3 => px_version_type);
7937:
7938: x_return_status := FND_API.G_RET_STS_ERROR;
7939: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7940:
7941: END IF;
7942:
7943: END IF;--Version type derivation ends
7950: pa_debug.reset_curr_function;
7951: END IF;
7952: EXCEPTION
7953:
7954: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
7955:
7956: IF x_return_status IS NULL OR
7957: x_return_status = FND_API.G_RET_STS_SUCCESS THEN
7958: x_return_status := FND_API.G_RET_STS_ERROR;
8078:
8079: PA_UTILS.ADD_MESSAGE
8080: (p_app_short_name => 'PA',
8081: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
8082: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8083:
8084: END IF;
8085:
8086: OPEN l_budget_version_id_csr ;
8093: pa_debug.reset_curr_function;
8094: END IF;
8095:
8096: EXCEPTION
8097: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
8098:
8099: x_return_status := FND_API.G_RET_STS_ERROR;
8100: l_msg_count := FND_MSG_PUB.count_msg;
8101:
8197:
8198: PA_UTILS.ADD_MESSAGE
8199: (p_app_short_name => 'PA',
8200: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
8201: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8202:
8203: END IF;
8204:
8205: OPEN l_autobaseline_check_csr;
8210: pa_debug.g_err_stage:= 'p_budget_version_id is ' || p_budget_version_id;
8211: pa_debug.write(l_module,pa_debug.g_err_stage,l_debug_level3);
8212: END IF;
8213: CLOSE l_autobaseline_check_csr;
8214: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8215:
8216: END IF;
8217: CLOSE l_autobaseline_check_csr;
8218:
8217: CLOSE l_autobaseline_check_csr;
8218:
8219: IF (l_autobaseline_check_rec.baseline_funding_flag='Y') THEN
8220: IF nvl( l_autobaseline_check_rec.budget_type_code,'N')=
8221: PA_FP_CONSTANTS_PKG.G_BUDGET_TYPE_CODE_AR THEN
8222:
8223: IF l_debug_mode = 'Y' THEN
8224: pa_debug.g_err_stage := 'Auto base line error in budget model' ;
8225: pa_debug.write(l_module_name,pa_debug.g_err_stage,l_debug_level3);
8228: x_result := 'F';
8229:
8230: ELSIF (l_autobaseline_check_rec.budget_type_code IS NULL AND
8231: l_autobaseline_check_rec.approved_rev_plan_type_flag = 'Y' AND
8232: l_autobaseline_check_rec.version_type = PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE) THEN
8233:
8234: IF l_debug_mode = 'Y' THEN
8235: pa_debug.g_err_stage := 'Auto base line error in finplan model' ;
8236: pa_debug.write(l_module_name,pa_debug.g_err_stage,l_debug_level3);
8247: pa_debug.write(l_module,pa_debug.g_err_stage,l_debug_level3);
8248: pa_debug.reset_curr_function;
8249: END IF;
8250: EXCEPTION
8251: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
8252:
8253: x_return_status := FND_API.G_RET_STS_ERROR;
8254: l_msg_count := FND_MSG_PUB.count_msg;
8255:
8322: IF (p_budget_type_code IS NULL)
8323: THEN
8324: IF p_pa_debug_mode = 'Y' THEN
8325: pa_debug.g_err_stage:= 'p_budget_type_code = '|| p_budget_type_code;
8326: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8327: END IF;
8328: PA_UTILS.ADD_MESSAGE
8329: (p_app_short_name => 'PA',
8330: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
8327: END IF;
8328: PA_UTILS.ADD_MESSAGE
8329: (p_app_short_name => 'PA',
8330: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
8331: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8332: END IF;
8333:
8334: -- derive version type using the budget amount code
8335:
8333:
8334: -- derive version type using the budget amount code
8335:
8336: BEGIN
8337: SELECT DECODE(budget_amount_code, 'C', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST,
8338: 'R', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_REVENUE,
8339: 'ALL', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL)
8340: INTO x_version_type
8341: FROM pa_budget_types
8334: -- derive version type using the budget amount code
8335:
8336: BEGIN
8337: SELECT DECODE(budget_amount_code, 'C', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST,
8338: 'R', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_REVENUE,
8339: 'ALL', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL)
8340: INTO x_version_type
8341: FROM pa_budget_types
8342: WHERE budget_type_code = p_budget_type_code;
8335:
8336: BEGIN
8337: SELECT DECODE(budget_amount_code, 'C', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_COST,
8338: 'R', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_REVENUE,
8339: 'ALL', PA_FP_CONSTANTS_PKG.G_VERSION_TYPE_ALL)
8340: INTO x_version_type
8341: FROM pa_budget_types
8342: WHERE budget_type_code = p_budget_type_code;
8343: EXCEPTION
8343: EXCEPTION
8344: WHEN NO_DATA_FOUND THEN
8345: IF p_pa_debug_mode = 'Y' THEN
8346: pa_debug.g_err_stage:= 'no data found error in get_version_type_for_bdgt_type'||SQLERRM;
8347: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8348: END IF;
8349:
8350: PA_UTILS.ADD_MESSAGE(
8351: p_app_short_name => 'PA'
8350: PA_UTILS.ADD_MESSAGE(
8351: p_app_short_name => 'PA'
8352: ,p_msg_name => 'PA_BUDGET_TYPE_IS_INVALID' );
8353:
8354: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8355: END;
8356:
8357: IF p_pa_debug_mode = 'Y' THEN
8358: pa_debug.g_err_stage:= 'Exiting get_version_type_for_bdgt_type';
8355: END;
8356:
8357: IF p_pa_debug_mode = 'Y' THEN
8358: pa_debug.g_err_stage:= 'Exiting get_version_type_for_bdgt_type';
8359: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8360: pa_debug.reset_curr_function;
8361: END IF;
8362: EXCEPTION
8363:
8360: pa_debug.reset_curr_function;
8361: END IF;
8362: EXCEPTION
8363:
8364: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
8365:
8366: x_return_status := FND_API.G_RET_STS_ERROR;
8367: l_msg_count := FND_MSG_PUB.count_msg;
8368: IF l_msg_count = 1 THEN
8392: ,p_procedure_name => 'get_version_type_for_bdgt_type'
8393: ,p_error_text => sqlerrm);
8394: IF p_pa_debug_mode = 'Y' THEN
8395: pa_debug.g_err_stage:= 'unexp error in get_version_type_for_bdgt_type'||SQLERRM;
8396: pa_debug.write(l_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8397: pa_debug.reset_curr_function;
8398: END IF;
8399: RAISE;
8400: END get_version_type_for_bdgt_type;
8530: WHERE budget_version_id = p_budget_version_id;
8531:
8532: if l_budget_status_code = 'S' then
8533: if p_context <> 'WEBADI' then
8534: IF p_context <> PA_FP_CONSTANTS_PKG.G_AMG_API THEN
8535:
8536: x_err_code := 'PA_FP_ATTACH_SUBMITTED';
8537:
8538: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
8580: p_data => x_msg_data,
8581: p_msg_index_out => l_msg_index_out);
8582: end if;
8583: */
8584: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8585: ELSE
8586: -- AMG context
8587: x_err_code := 'PA_FP_SUBMITTED_VERSION';
8588:
8601:
8602: x_msg_data := l_data;
8603: x_msg_count := l_msg_count;
8604:
8605: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8606: END IF;
8607: ELSE -- p_context = 'WEBADI'
8608: IF l_debug_mode = 'Y' THEN
8609: pa_debug.g_err_stage:='Web ADI: Submitted Error';
8613: END IF;
8614:
8615: x_err_code := 'PA_FP_WA_BV_SUBMITTED_ERR';
8616:
8617: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8618: end if; -- p_context
8619: end if; -- version submitted
8620:
8621: -- Bug 3057564, jwhite, 22-JUL-03 -----------------------------
8622: -- Add logic for plan version locked by a process
8623:
8624: IF ( ( nvl( x_locked_by_person_id,0) = -98 )
8625: AND ( l_request_id is NOT NULL ) ) THEN
8626: IF p_context <> PA_FP_CONSTANTS_PKG.G_AMG_API THEN
8627: x_err_code := 'PA_FP_ATTACH_LOCKED_BY_PRC';
8628:
8629: PA_UTILS.ADD_MESSAGE
8630: ( p_app_short_name => 'PA',
8642:
8643: x_msg_data := l_data;
8644: x_msg_count := l_msg_count;
8645:
8646: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8647: ELSE
8648: -- AMG context
8649: x_err_code := 'PA_FP_LOCKED_BY_PROCESSING';
8650:
8664:
8665: x_msg_data := l_data;
8666: x_msg_count := l_msg_count;
8667:
8668: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8669: END IF;
8670: END IF; -- locked by process
8671:
8672: -- End Bug 3057564 --------------------------------------------
8686: END IF;
8687:
8688: x_err_code := 'PA_FP_WA_BV_LOCKED_PRC_ERR';
8689:
8690: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8691: END IF;
8692: END IF;
8693: END IF;
8694:
8695: if x_locked_by_person_id is not null then
8696: if l_person_id <> x_locked_by_person_id then
8697:
8698: if p_context <> 'WEBADI' then
8699: IF p_context <> PA_FP_CONSTANTS_PKG.G_AMG_API THEN
8700: x_err_code := 'PA_FP_ATTACH_LOCKED_BY_USER';
8701: -- BUG FIX 2933867: use locked_by_person_id for error msg
8702: l_locked_by_name := pa_fin_plan_utils.get_person_name(x_locked_by_person_id);
8703: PA_UTILS.ADD_MESSAGE
8753: p_data => x_msg_data,
8754: p_msg_index_out => l_msg_index_out);
8755: end if;
8756: */
8757: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8758: ELSE
8759: -- AMG context
8760: x_err_code := 'PA_FP_LOCKED_BY_USER';
8761:
8775:
8776: x_msg_data := l_data;
8777: x_msg_count := l_msg_count;
8778:
8779: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8780: END IF;
8781: ELSE -- p_context = 'WEBADI'
8782: IF l_debug_mode = 'Y' THEN
8783: pa_debug.g_err_stage:='Web ADI: BV Locked Error';
8787: END IF;
8788:
8789: x_err_code := 'PA_FP_WA_BV_LOCKED_ERR';
8790:
8791: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8792: end if; -- p_context
8793: end if; -- version locked by another user
8794: end if;
8795:
8872:
8873: x_msg_data := l_data;
8874: x_msg_count := l_msg_count;
8875:
8876: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8877: ELSE -- p_context = 'WEBADI'
8878: IF l_debug_mode = 'Y' THEN
8879: pa_debug.g_err_stage:='Web ADI: BV Non Edit Error';
8880: pa_debug.write(l_module_name,pa_debug.g_err_stage,l_debug_level3);
8883: END IF;
8884: -- Use new messages for the context of WEBADI
8885: x_err_code := 'PA_FP_WA_BV_BL_NON_EDIT';
8886:
8887: RAISE PA_FP_CONSTANTS_PKG.Just_Ret_Exc;
8888: END IF; -- p_context
8889: END IF;
8890: END IF; -- edit_after_baseline
8891:
8895: pa_debug.Reset_Curr_Function;
8896: END IF;
8897:
8898: EXCEPTION
8899: WHEN PA_FP_CONSTANTS_PKG.Just_Ret_Exc THEN
8900: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8901:
8902: IF l_debug_mode = 'Y' THEN
8903: pa_debug.Reset_Curr_Function;
9082: END IF;
9083: PA_UTILS.ADD_MESSAGE
9084: (p_app_short_name => 'PA',
9085: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
9086: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9087:
9088: END IF;
9089:
9090: IF l_debug_mode = 'Y' THEN
9111: CLOSE delete_task_R_mode_cur;
9112:
9113: ELSE
9114:
9115: Raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9116: END IF;
9117: */
9118:
9119:
9123: FETCH delete_task_R_mode_cur into l_validation_success;
9124: CLOSE delete_task_R_mode_cur;
9125: ELSE
9126:
9127: Raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9128: END IF;
9129:
9130:
9131:
9149: pa_debug.reset_curr_function;
9150: END IF;
9151: EXCEPTION
9152:
9153: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
9154:
9155: x_return_status := FND_API.G_RET_STS_ERROR;
9156: l_msg_count := FND_MSG_PUB.count_msg;
9157:
9267: END IF;
9268: PA_UTILS.ADD_MESSAGE
9269: (p_app_short_name => 'PA',
9270: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
9271: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9272: END IF;
9273: -- end of business rules violations check
9274:
9275: IF (p_old_parent_task_id = p_new_parent_task_id) THEN
9348: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9349: PA_UTILS.ADD_MESSAGE
9350: (p_app_short_name => 'PA',
9351: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
9352: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9353: END;
9354: PA_UTILS.ADD_MESSAGE
9355: ( p_app_short_name => 'PA',
9356: p_msg_name => 'PA_FP_REPARENT_ERR_OLDPRT',
9407: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9408: PA_UTILS.ADD_MESSAGE
9409: (p_app_short_name => 'PA',
9410: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
9411: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9412: END;
9413: PA_UTILS.ADD_MESSAGE
9414: ( p_app_short_name => 'PA',
9415: p_msg_name => 'PA_FP_REPARENT_ERR_NEWPRT',
9439: IF P_PA_DEBUG_MODE = 'Y' THEN
9440: pa_debug.reset_curr_function;
9441: END IF;
9442: EXCEPTION
9443: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
9444: x_return_status := FND_API.G_RET_STS_ERROR;
9445: l_msg_count := FND_MSG_PUB.count_msg;
9446: IF l_msg_count = 1 and x_msg_data IS NULL THEN
9447: PA_INTERFACE_UTILS_PUB.get_messages
9841: IF P_PA_DEBUG_MODE = 'Y' THEN
9842: pa_debug.g_err_stage:='Invalid Arguments Passed';
9843: pa_debug.write('Check_if_plan_type_editable: ' || l_module_name,pa_debug.g_err_stage,5);
9844: END IF;
9845: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9846:
9847: END IF;
9848:
9849: BEGIN
9897: pa_debug.reset_curr_function;
9898: END IF;
9899: EXCEPTION
9900:
9901: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
9902: l_msg_count := FND_MSG_PUB.count_msg;
9903: IF l_msg_count = 1 THEN
9904: PA_INTERFACE_UTILS_PUB.get_messages
9905: (p_encoded => FND_API.G_TRUE
10060:
10061: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
10062: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
10063:
10064: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10065:
10066: END IF;
10067:
10068: --Fetch fin plan preference code
10076: INTO l_fp_preference_code
10077: FROM pa_proj_fp_options
10078: WHERE project_id = p_project_id
10079: AND fin_plan_type_id = p_fin_plan_type_id
10080: AND fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
10081:
10082: IF (l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP) AND
10083: (p_version_type IS NULL)
10084: THEN
10078: WHERE project_id = p_project_id
10079: AND fin_plan_type_id = p_fin_plan_type_id
10080: AND fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE;
10081:
10082: IF (l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP) AND
10083: (p_version_type IS NULL)
10084: THEN
10085:
10086: --In this case version_type should be passed and so raise error
10092:
10093: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
10094: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
10095:
10096: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10097:
10098: END IF;
10099:
10100: IF l_debug_mode = 'Y' THEN
10105: --Fetch l_element_type ifn't passed and could be derived
10106:
10107: IF p_version_type IS NULL THEN
10108:
10109: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
10110:
10111: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
10112:
10113: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
10107: IF p_version_type IS NULL THEN
10108:
10109: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
10110:
10111: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
10112:
10113: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
10114:
10115: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
10109: IF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME THEN
10110:
10111: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
10112:
10113: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
10114:
10115: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
10116:
10117: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
10111: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL;
10112:
10113: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
10114:
10115: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
10116:
10117: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
10118:
10119: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
10113: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY THEN
10114:
10115: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
10116:
10117: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
10118:
10119: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
10120:
10121: END IF;
10115: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST;
10116:
10117: ELSIF l_fp_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY THEN
10118:
10119: l_version_type := PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE;
10120:
10121: END IF;
10122:
10123: END IF;
10172: END IF;
10173:
10174: EXCEPTION
10175:
10176: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
10177: l_msg_count := FND_MSG_PUB.count_msg;
10178: IF l_msg_count = 1 THEN
10179: PA_INTERFACE_UTILS_PUB.get_messages
10180: (p_encoded => FND_API.G_TRUE
10293:
10294: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
10295: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
10296:
10297: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10298:
10299: END IF;
10300:
10301: -- Using bv id derive ACTUAL_AMTS_THRU_PERIOD from versions table
10345: pa_debug.reset_curr_function();
10346: END IF;
10347: EXCEPTION
10348:
10349: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
10350: l_msg_count := FND_MSG_PUB.count_msg;
10351: IF l_msg_count = 1 THEN
10352: PA_INTERFACE_UTILS_PUB.get_messages
10353: (p_encoded => FND_API.G_TRUE
10415: WHERE EXISTS (SELECT 'x'
10416: FROM PA_RESOURCE_ASSIGNMENTS a, pa_proj_element_versions pelm
10417: WHERE a.budget_version_id = p_budget_version_id
10418: AND a.task_id = pelm.proj_element_id
10419: AND a.resource_class_code = PA_FP_CONSTANTS_PKG.G_RESOURCE_CLASS_CODE_FIN
10420: AND a.task_id = p_task_id
10421: AND a.resource_class_flag = 'Y'
10422: AND pelm.parent_structure_version_id= l_structure_version_id);
10423: ELSE -- For Project Level Records
10426: FROM DUAL
10427: WHERE EXISTS (SELECT 'x'
10428: FROM PA_RESOURCE_ASSIGNMENTS a
10429: WHERE a.budget_version_id = p_budget_version_id
10430: AND a.resource_class_code = PA_FP_CONSTANTS_PKG.G_RESOURCE_CLASS_CODE_FIN
10431: AND a.task_id = p_task_id
10432: AND a.resource_class_flag = 'Y');
10433: END IF;
10434:
10458: WHERE a.budget_version_id = p_budget_version_id
10459: AND a.task_id = p_task_id
10460: --Commented for bug 3793136
10461: --AND a.wbs_element_version_id = p_wbs_element_version_id
10462: AND NOT(a.resource_class_code = PA_FP_CONSTANTS_PKG.G_RESOURCE_CLASS_CODE_FIN
10463: and a.resource_class_flag = 'Y') );
10464:
10465: RETURN l_exists;
10466: EXCEPTION
10570:
10571: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
10572: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
10573:
10574: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10575:
10576: END IF;
10577:
10578: -- Check if versioning is enabled or not
10641: pa_debug.reset_curr_function();
10642: END IF;
10643: EXCEPTION
10644:
10645: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
10646: l_msg_count := FND_MSG_PUB.count_msg;
10647: IF l_msg_count = 1 THEN
10648: PA_INTERFACE_UTILS_PUB.get_messages
10649: (p_encoded => FND_API.G_TRUE
10742:
10743: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
10744: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
10745:
10746: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10747:
10748: END IF;
10749:
10750: BEGIN
10766: pa_debug.reset_curr_function();
10767: END IF;
10768: EXCEPTION
10769:
10770: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
10771: l_msg_count := FND_MSG_PUB.count_msg;
10772: IF l_msg_count = 1 THEN
10773: PA_INTERFACE_UTILS_PUB.get_messages
10774: (p_encoded => FND_API.G_TRUE
10864:
10865: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
10866: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
10867:
10868: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10869:
10870: END IF;
10871:
10872: BEGIN
10888: pa_debug.reset_curr_function();
10889: END IF;
10890: EXCEPTION
10891:
10892: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
10893: l_msg_count := FND_MSG_PUB.count_msg;
10894: IF l_msg_count = 1 THEN
10895: PA_INTERFACE_UTILS_PUB.get_messages
10896: (p_encoded => FND_API.G_TRUE
11047: IF P_PA_debug_mode = 'Y' THEN
11048: pa_debug.g_err_stage:='Invalid Arguments Passed';
11049: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11050: END IF;
11051: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11052: END IF;
11053:
11054: IF P_PA_debug_mode = 'Y' THEN
11055: pa_debug.g_err_stage:= 'Entering GET_CURR_WORKING_VERSION_IDS';
11059: BEGIN
11060: SELECT fin_plan_preference_code
11061: INTO l_plan_pref_code
11062: FROM pa_proj_fp_options
11063: WHERE fin_plan_option_level_code = PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE
11064: AND project_id = p_project_id
11065: AND fin_plan_type_id = p_fin_plan_type_id;
11066: EXCEPTION
11067: WHEN NO_DATA_FOUND THEN
11068: IF P_PA_debug_mode = 'Y' THEN
11069: pa_debug.g_err_stage:='No data found while getting fin_plan_preference_code ';
11070: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11071: END IF;
11072: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11073: END;
11074:
11075: X_cost_budget_version_id := -1;
11076: X_rev_budget_version_id := -1;
11076: X_rev_budget_version_id := -1;
11077: X_all_budget_version_id := -1;
11078:
11079: -- Get_Curr_Working_Version_Info returns NULL if there is no working version of that version type
11080: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY OR
11081: l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP then
11082: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11083: ,p_fin_plan_type_id => p_fin_plan_type_id
11084: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST
11077: X_all_budget_version_id := -1;
11078:
11079: -- Get_Curr_Working_Version_Info returns NULL if there is no working version of that version type
11080: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY OR
11081: l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP then
11082: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11083: ,p_fin_plan_type_id => p_fin_plan_type_id
11084: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST
11085: ,x_fp_options_id => l_fp_options_id
11080: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY OR
11081: l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP then
11082: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11083: ,p_fin_plan_type_id => p_fin_plan_type_id
11084: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_COST
11085: ,x_fp_options_id => l_fp_options_id
11086: ,x_fin_plan_version_id => X_cost_budget_version_id
11087: ,x_return_status => l_return_status
11088: ,x_msg_count => l_msg_count
11092: IF P_PA_debug_mode = 'Y' THEN
11093: pa_debug.g_err_stage:= 'Error in Get_Curr_Working_Version_Info: COST context';
11094: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11095: END IF;
11096: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11097: END IF;
11098: END IF;
11099: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY OR
11100: l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP then
11095: END IF;
11096: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11097: END IF;
11098: END IF;
11099: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY OR
11100: l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP then
11101: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11102: ,p_fin_plan_type_id => p_fin_plan_type_id
11103: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE
11096: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11097: END IF;
11098: END IF;
11099: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY OR
11100: l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP then
11101: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11102: ,p_fin_plan_type_id => p_fin_plan_type_id
11103: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE
11104: ,x_fp_options_id => l_fp_options_id
11099: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY OR
11100: l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP then
11101: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11102: ,p_fin_plan_type_id => p_fin_plan_type_id
11103: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE
11104: ,x_fp_options_id => l_fp_options_id
11105: ,x_fin_plan_version_id => X_rev_budget_version_id
11106: ,x_return_status => l_return_status
11107: ,x_msg_count => l_msg_count
11110: IF P_PA_debug_mode = 'Y' THEN
11111: pa_debug.g_err_stage:= 'Error in Get_Curr_Working_Version_Info: REV context';
11112: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11113: END IF;
11114: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11115: END IF;
11116: END IF;
11117: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME then
11118: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11113: END IF;
11114: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11115: END IF;
11116: END IF;
11117: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME then
11118: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11119: ,p_fin_plan_type_id => p_fin_plan_type_id
11120: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL
11121: ,x_fp_options_id => l_fp_options_id
11116: END IF;
11117: If l_plan_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SAME then
11118: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(p_project_id => p_project_id
11119: ,p_fin_plan_type_id => p_fin_plan_type_id
11120: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_ALL
11121: ,x_fp_options_id => l_fp_options_id
11122: ,x_fin_plan_version_id => x_all_budget_version_id
11123: ,x_return_status => l_return_status
11124: ,x_msg_count => l_msg_count
11128: IF P_PA_debug_mode = 'Y' THEN
11129: pa_debug.g_err_stage:= 'Error in Get_Curr_Working_Version_Info: ALL context';
11130: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11131: END IF;
11132: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11133: END IF;
11134:
11135:
11136: END IF;
11140: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11141: pa_debug.reset_curr_function;
11142: END IF;
11143: EXCEPTION
11144: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
11145: l_msg_count := FND_MSG_PUB.count_msg;
11146:
11147: IF l_msg_count = 1 and x_msg_data IS NULL THEN
11148: PA_INTERFACE_UTILS_PUB.get_messages
11253: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
11254: p_token1 => l_token_name,
11255: p_value1 => l_mod_name);
11256:
11257: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11258: END IF;
11259:
11260:
11261: -- Bug 3902176
11279: IF P_PA_debug_mode = 'Y' THEN
11280: pa_debug.g_err_stage:='Invalid Arguments Passed';
11281: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11282: END IF;
11283: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11284:
11285: END IF;
11286: */
11287:
11310: IF P_PA_DEBUG_MODE = 'Y' THEN
11311: pa_debug.g_err_stage:='No Data Found while fetching margin_derived_from_code';
11312: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11313: END IF;
11314: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11315: END;
11316: END IF;
11317:
11318: x_margin_derived_from_code := l_margin_derived_from_code; -- Bug 3734840
11348: IF P_PA_DEBUG_MODE = 'Y' THEN
11349: pa_debug.g_err_stage:='No data found while fetching quantity and amounts. Context: Cost/All version type';
11350: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11351: END IF;
11352: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11353: END;
11354: END IF;
11355: IF NVL(p_rev_budget_version_id,-1) <> -1 or NVL(p_all_budget_version_id,-1) <> -1 THEN
11356: BEGIN
11367: IF P_PA_DEBUG_MODE = 'Y' THEN
11368: pa_debug.g_err_stage:='No data found while fetching quantity and amounts. Context: Rev/All version type';
11369: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11370: END IF;
11371: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11372: END;
11373: END IF;
11374:
11375: -- Bug 3902176.
11390: END IF;
11391: */
11392:
11393: IF l_budget_version_id IS NOT NULL THEN
11394: IF l_margin_derived_from_code = PA_FP_CONSTANTS_PKG.G_MARGIN_DERIVED_FROM_CODE_R THEN
11395: x_margin := nvl(x_proj_revenue,0) - nvl(x_proj_raw_cost,0);
11396: ELSE
11397: x_margin := nvl(x_proj_revenue,0) - nvl(x_proj_burdened_cost,0);
11398: END IF;
11410: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11411: pa_debug.reset_curr_function;
11412: END IF;
11413: EXCEPTION
11414: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
11415: l_msg_count := FND_MSG_PUB.count_msg;
11416:
11417: IF l_msg_count = 1 and x_msg_data IS NULL THEN
11418: PA_INTERFACE_UTILS_PUB.get_messages
11457: Mandatory input parameters: 1. p_context,p_project_id and p_ci_id
11458: OR
11459: 2. p_context,p_project_id and p_fin_plan_type_id
11460:
11461: Valid values for p_context: 1. PA_FP_CONSTANTS_PKG.G_CI_VERSION_AMOUNTS. (In this case p_ci_id has to be passed)
11462: 2. PA_FP_CONSTANTS_PKG.G_PLAN_TYPE_CWV_AMOUNTS. (In this case p_fin_plan_type_id has to be passed)
11463:
11464: Depending on the value of p_context, the API returns the OUT parameters with respect to either the CI versions of the passed ci_id
11465: or the current working version of the fin_plan_type_id in the context of a project (p_project_id)
11458: OR
11459: 2. p_context,p_project_id and p_fin_plan_type_id
11460:
11461: Valid values for p_context: 1. PA_FP_CONSTANTS_PKG.G_CI_VERSION_AMOUNTS. (In this case p_ci_id has to be passed)
11462: 2. PA_FP_CONSTANTS_PKG.G_PLAN_TYPE_CWV_AMOUNTS. (In this case p_fin_plan_type_id has to be passed)
11463:
11464: Depending on the value of p_context, the API returns the OUT parameters with respect to either the CI versions of the passed ci_id
11465: or the current working version of the fin_plan_type_id in the context of a project (p_project_id)
11466:
11550: IF P_PA_debug_mode = 'Y' THEN
11551: pa_debug.g_err_stage:='Invalid Arguments Passed';
11552: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11553: END IF;
11554: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11555:
11556: END IF;
11557:
11558:
11581: IF P_PA_debug_mode = 'Y' THEN
11582: pa_debug.g_err_stage:='Invalid Arguments Passed';
11583: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11584: END IF;
11585: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11586:
11587: END IF;
11588: */
11589:
11589:
11590:
11591: -- Check if fin_plan_type_id and ci id are null
11592:
11593: IF p_context = PA_FP_CONSTANTS_PKG.G_CI_VERSION_AMOUNTS THEN
11594: IF (p_ci_id IS NULL)
11595: THEN
11596:
11597: IF P_PA_debug_mode = 'Y' THEN
11613: IF P_PA_debug_mode = 'Y' THEN
11614: pa_debug.g_err_stage:='Invalid Arguments Passed';
11615: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11616: END IF;
11617: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11618:
11619: END IF;
11620:
11621: ELSIF p_context = PA_FP_CONSTANTS_PKG.G_PLAN_TYPE_CWV_AMOUNTS THEN
11617: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11618:
11619: END IF;
11620:
11621: ELSIF p_context = PA_FP_CONSTANTS_PKG.G_PLAN_TYPE_CWV_AMOUNTS THEN
11622: IF (p_fin_plan_type_id IS NULL)
11623: THEN
11624:
11625: IF P_PA_debug_mode = 'Y' THEN
11641: IF P_PA_debug_mode = 'Y' THEN
11642: pa_debug.g_err_stage:='Invalid Arguments Passed';
11643: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11644: END IF;
11645: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11646:
11647: END IF;
11648:
11649: END IF;
11652: pa_debug.g_err_stage:= 'Entering GET_SUMMARY_AMOUNTS';
11653: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11654: END IF;
11655:
11656: IF p_context = PA_FP_CONSTANTS_PKG.G_CI_VERSION_AMOUNTS THEN
11657: Pa_Fp_Control_Items_Utils.GET_CI_VERSIONS(P_ci_id => p_ci_id,
11658: X_cost_budget_version_id => x_cost_budget_version_id,
11659: X_rev_budget_version_id => x_rev_budget_version_id,
11660: X_all_budget_version_id => x_all_budget_version_id,
11666: IF P_PA_debug_mode = 'Y' THEN
11667: pa_debug.g_err_stage:= 'Error in GET_CI_VERSIONS';
11668: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11669: END IF;
11670: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11671: END IF;
11672:
11673: -- Added New Params for Quantity(Cost/Rev) in call to GET_PROJ_IMPACT_AMOUNTS - Bug 3902176
11674: PA_FIN_PLAN_UTILS.GET_PROJ_IMPACT_AMOUNTS(p_cost_budget_version_id => x_cost_budget_version_id
11693: IF P_PA_debug_mode = 'Y' THEN
11694: pa_debug.g_err_stage:= 'Error in GET_PROJ_IMPACT_AMOUNTS';
11695: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11696: END IF;
11697: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11698: END IF;
11699: ELSIF p_context = PA_FP_CONSTANTS_PKG.G_PLAN_TYPE_CWV_AMOUNTS THEN
11700: pa_fin_plan_utils.GET_CURR_WORKING_VERSION_IDS(P_fin_plan_type_id => P_fin_plan_type_id
11701: ,P_project_id => p_project_id
11695: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level5);
11696: END IF;
11697: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11698: END IF;
11699: ELSIF p_context = PA_FP_CONSTANTS_PKG.G_PLAN_TYPE_CWV_AMOUNTS THEN
11700: pa_fin_plan_utils.GET_CURR_WORKING_VERSION_IDS(P_fin_plan_type_id => P_fin_plan_type_id
11701: ,P_project_id => p_project_id
11702: ,X_cost_budget_version_id => x_cost_budget_version_id
11703: ,X_rev_budget_version_id => x_rev_budget_version_id
11710: IF P_PA_debug_mode = 'Y' THEN
11711: pa_debug.g_err_stage:= 'Error in GET_CURR_WORKING_VERSION_IDS';
11712: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11713: END IF;
11714: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11715: END IF;
11716:
11717: --Get the project impact amounts only if the current working version exists. Bug 3661627
11718: IF nvl(x_all_budget_version_id,-1) <> -1 OR nvl(x_cost_budget_version_id,-1) <> -1
11741: IF P_PA_debug_mode = 'Y' THEN
11742: pa_debug.g_err_stage:= 'Error in GET_PROJ_IMPACT_AMOUNTS';
11743: pa_debug.write(l_mod_name,pa_debug.g_err_stage,l_debug_level3);
11744: END IF;
11745: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
11746: END IF;
11747: END IF;
11748: END IF;
11749:
11754:
11755: pa_debug.reset_curr_function;
11756: END IF;
11757: EXCEPTION
11758: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
11759: l_msg_count := FND_MSG_PUB.count_msg;
11760:
11761: IF l_msg_count = 1 and x_msg_data IS NULL THEN
11762: PA_INTERFACE_UTILS_PUB.get_messages
12160: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
12161: p_token1 => 'PROCEDURENAME',
12162: p_value1 => 'PA_FIN_PLAN_UTILS.Check_delete_txn_cur_ok');
12163:
12164: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12165:
12166: END IF;
12167:
12168: -- Derive project and project funcional currencies
12279: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
12280: p_token1 => 'PROCEDURENAME',
12281: p_value1 => 'PA_FIN_PLAN_UTILS.check_if_amounts_exist_for_wp');
12282:
12283: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12284:
12285: END IF;
12286:
12287: -- Check if budget line exists for any of the workplan versions of the project
12360: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
12361: p_token1 => 'PROCEDURENAME',
12362: p_value1 => 'PA_FIN_PLAN_UTILS.check_if_task_asgmts_exist');
12363:
12364: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12365:
12366: END IF;
12367:
12368: -- Check if task assignments exist for any of the workplan versions of the project
12447: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
12448: p_token1 => 'PROCEDURENAME',
12449: p_value1 => 'PA_FIN_PLAN_UTILS.check_if_amounts_exist_for_fp');
12450:
12451: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12452:
12453: END IF;
12454:
12455: -- Check if budget line exists for any of the budget versions of the project-plan type
12573: END IF;
12574:
12575: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
12576: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
12577: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12578: END IF;
12579:
12580: ELSIF p_calling_context = 'CI' THEN
12581: IF p_source_ci_id_tbl.COUNT = 0 AND
12590: END IF;
12591:
12592: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
12593: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
12594: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12595: END IF;
12596: END IF;
12597:
12598: IF p_calling_context = 'BUDGET' THEN
12612: IF l_plan_processing_code = 'XLUP' THEN
12613: PA_UTILS.ADD_MESSAGE
12614: (p_app_short_name => 'PA',
12615: p_msg_name => 'PA_FP_LOCKED_BY_PROCESSING');
12616: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12617: ELSIF l_plan_processing_code = 'XLUE' THEN
12618: PA_UTILS.ADD_MESSAGE
12619: (p_app_short_name => 'PA',
12620: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12617: ELSIF l_plan_processing_code = 'XLUE' THEN
12618: PA_UTILS.ADD_MESSAGE
12619: (p_app_short_name => 'PA',
12620: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12621: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12622: END IF;
12623: END IF;
12624:
12625: x_final_plan_prc_code := l_plan_processing_code;
12645: IF l_targ_ci_ver_plan_prc_code = 'XLUP' THEN
12646: PA_UTILS.ADD_MESSAGE
12647: (p_app_short_name => 'PA',
12648: p_msg_name => 'PA_FP_LOCKED_BY_PROCESSING');
12649: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12650: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12651: PA_UTILS.ADD_MESSAGE
12652: (p_app_short_name => 'PA',
12653: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12650: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12651: PA_UTILS.ADD_MESSAGE
12652: (p_app_short_name => 'PA',
12653: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12654: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12655: END IF;
12656: ELSE
12657: x_final_plan_prc_code := l_targ_ci_ver_plan_prc_code;
12658: x_targ_request_id := l_targ_request_id;
12709: IF l_targ_ci_ver_plan_prc_code = 'XLUP' THEN
12710: PA_UTILS.ADD_MESSAGE
12711: (p_app_short_name => 'PA',
12712: p_msg_name => 'PA_FP_LOCKED_BY_PROCESSING');
12713: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12714: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12715: PA_UTILS.ADD_MESSAGE
12716: (p_app_short_name => 'PA',
12717: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12714: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12715: PA_UTILS.ADD_MESSAGE
12716: (p_app_short_name => 'PA',
12717: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12718: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12719: END IF;
12720: ELSE
12721: x_final_plan_prc_code := l_targ_ci_ver_plan_prc_code;
12722: x_targ_request_id := l_targ_ci_request_id;
12751: IF l_targ_ci_ver_plan_prc_code = 'XLUP' THEN
12752: PA_UTILS.ADD_MESSAGE
12753: (p_app_short_name => 'PA',
12754: p_msg_name => 'PA_FP_LOCKED_BY_PROCESSING');
12755: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12756: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12757: PA_UTILS.ADD_MESSAGE
12758: (p_app_short_name => 'PA',
12759: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12756: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12757: PA_UTILS.ADD_MESSAGE
12758: (p_app_short_name => 'PA',
12759: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12760: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12761: END IF;
12762: ELSE
12763: x_final_plan_prc_code := l_targ_ci_ver_plan_prc_code;
12764: x_targ_request_id := l_targ_ci_request_id;
12784: IF l_targ_ci_ver_plan_prc_code = 'XLUP' THEN
12785: PA_UTILS.ADD_MESSAGE
12786: (p_app_short_name => 'PA',
12787: p_msg_name => 'PA_FP_LOCKED_BY_PROCESSING');
12788: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12789: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12790: PA_UTILS.ADD_MESSAGE
12791: (p_app_short_name => 'PA',
12792: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12789: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12790: PA_UTILS.ADD_MESSAGE
12791: (p_app_short_name => 'PA',
12792: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12793: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12794: END IF;
12795: ELSE
12796: x_final_plan_prc_code := l_targ_ci_ver_plan_prc_code;
12797: x_targ_request_id := l_targ_ci_request_id;
12810: IF l_targ_ci_ver_plan_prc_code = 'XLUP' THEN
12811: PA_UTILS.ADD_MESSAGE
12812: (p_app_short_name => 'PA',
12813: p_msg_name => 'PA_FP_LOCKED_BY_PROCESSING');
12814: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12815: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12816: PA_UTILS.ADD_MESSAGE
12817: (p_app_short_name => 'PA',
12818: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12815: ELSIF l_targ_ci_ver_plan_prc_code = 'XLUE' THEN
12816: PA_UTILS.ADD_MESSAGE
12817: (p_app_short_name => 'PA',
12818: p_msg_name => 'PA_FP_WA_CONC_PRC_FAILURE_MSG');
12819: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
12820: END IF;
12821: ELSE
12822: x_final_plan_prc_code := l_targ_ci_ver_plan_prc_code;
12823: x_targ_request_id := l_targ_ci_request_id;
12839: pa_debug.reset_curr_function();
12840: END IF;
12841: EXCEPTION
12842:
12843: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
12844: l_msg_count := FND_MSG_PUB.count_msg;
12845: IF l_msg_count = 1 THEN
12846: PA_INTERFACE_UTILS_PUB.get_messages
12847: (p_encoded => FND_API.G_TRUE
12903:
12904: /* Changes for FP.M, Tracking Bug No - 3619687. Making a check if the plan version/type is
12905: a source of generation fot other plan types*/
12906: BEGIN
12907: IF ( p_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY) THEN
12908: SELECT 1 INTO l_exists FROM dual WHERE EXISTS (SELECT fin_plan_type_id
12909: FROM PA_PROJ_FP_OPTIONS
12910: WHERE Project_id = p_project_id AND
12911: (GEN_SRC_REV_PLAN_TYPE_ID = p_fin_plan_type_id
13048: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
13049: p_token1 => 'PROCEDURENAME',
13050: p_value1 => l_module_name);
13051:
13052: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
13053: END IF;
13054:
13055: IF l_debug_mode = 'Y' THEN
13056: pa_debug.g_err_stage := 'Deriving project_id';
13072: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
13073: p_token1 => 'PROCEDURENAME',
13074: p_value1 => l_module_name);
13075:
13076: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
13077: END;
13078:
13079: IF l_debug_mode = 'Y' THEN
13080: pa_debug.g_err_stage := 'Getting structure version id';
13099: pa_debug.reset_curr_function;
13100: END IF;
13101:
13102: EXCEPTION
13103: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
13104: l_msg_count := FND_MSG_PUB.count_msg;
13105: IF l_msg_count = 1 THEN
13106: PA_INTERFACE_UTILS_PUB.get_messages
13107: (p_encoded => FND_API.G_TRUE
13266: IF l_debug_mode = 'Y' THEN
13267: pa_debug.g_err_stage := 'Get_Appr_Cost_Plan_Type_Info API returned error' ;
13268: pa_debug.write(l_module_name,pa_debug.g_err_stage,l_debug_level5);
13269: END IF;
13270: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
13271:
13272: -- The Get_Appr_Cost_Plan_Type_Info api got executed successfully.
13273: ELSIF( l_approved_fin_plan_type_id IS NOT NULL) THEN
13274:
13310: ,p_attribute15 => p_attribute15
13311: ,p_budget_lines_in => p_budget_lines_in
13312: ,p_budget_lines_out => l_budget_lines_out_tbl
13313: ,p_fin_plan_type_id => l_approved_fin_plan_type_id
13314: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE
13315: ,p_revenue_flag => 'Y'
13316: , p_revenue_qty_flag => 'Y');
13317: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
13318: THEN
13330: END IF;
13331:
13332:
13333: -- dbms_output.put_line('about to call baseline_budget ... ');
13334: -- dbms_output.put_line('Before setting the value of PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB = '|| PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB);
13335: PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB := 'Y';
13336:
13337: PA_BUDGET_PUB.BASELINE_BUDGET
13338: ( p_api_version_number => p_api_version_number
13331:
13332:
13333: -- dbms_output.put_line('about to call baseline_budget ... ');
13334: -- dbms_output.put_line('Before setting the value of PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB = '|| PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB);
13335: PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB := 'Y';
13336:
13337: PA_BUDGET_PUB.BASELINE_BUDGET
13338: ( p_api_version_number => p_api_version_number
13339: ,p_commit => FND_API.G_FALSE
13347: ,p_pm_project_reference => p_pm_project_reference
13348: ,p_budget_type_code => NULL
13349: ,p_mark_as_original => 'Y'
13350: ,p_fin_plan_type_id => l_approved_fin_plan_type_id
13351: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE
13352: );
13353: -- dbms_output.put_line('returned from BASELINE_BUDGET ... status = '||l_return_status);
13354:
13355: IF (nvl(PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB,'N') = 'Y') THEN
13351: ,p_version_type => PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE
13352: );
13353: -- dbms_output.put_line('returned from BASELINE_BUDGET ... status = '||l_return_status);
13354:
13355: IF (nvl(PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB,'N') = 'Y') THEN
13356: PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB := 'N'; -- reset the value bug 3099706
13357: END IF;
13358:
13359: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
13352: );
13353: -- dbms_output.put_line('returned from BASELINE_BUDGET ... status = '||l_return_status);
13354:
13355: IF (nvl(PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB,'N') = 'Y') THEN
13356: PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB := 'N'; -- reset the value bug 3099706
13357: END IF;
13358:
13359: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
13360: THEN
13417: RAISE FND_API.G_EXC_ERROR;
13418: END IF;
13419:
13420: -- dbms_output.put_line('about to call baseline_budget ... ');
13421: -- dbms_output.put_line('Before setting the value of PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB = '|| PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB);
13422: PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB := 'Y';
13423:
13424: PA_BUDGET_PUB.BASELINE_BUDGET
13425: ( p_api_version_number => p_api_version_number
13418: END IF;
13419:
13420: -- dbms_output.put_line('about to call baseline_budget ... ');
13421: -- dbms_output.put_line('Before setting the value of PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB = '|| PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB);
13422: PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB := 'Y';
13423:
13424: PA_BUDGET_PUB.BASELINE_BUDGET
13425: ( p_api_version_number => p_api_version_number
13426: ,p_commit => FND_API.G_FALSE
13436: ,p_mark_as_original => 'Y'
13437: );
13438: -- dbms_output.put_line('returned from BASELINE_BUDGET ... status = '||l_return_status);
13439:
13440: IF (nvl(PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB,'N') = 'Y') THEN
13441: PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB := 'N'; -- reset the value bug 3099706
13442: END IF;
13443:
13444: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
13437: );
13438: -- dbms_output.put_line('returned from BASELINE_BUDGET ... status = '||l_return_status);
13439:
13440: IF (nvl(PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB,'N') = 'Y') THEN
13441: PA_FP_CONSTANTS_PKG.G_CALLED_FROM_AGREEMENT_PUB := 'N'; -- reset the value bug 3099706
13442: END IF;
13443:
13444: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
13445: THEN