28: BEGIN
29:
30: X_MSG_COUNT := 0;
31:
32: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
33:
34: IF p_pa_debug_mode = 'Y' THEN
35: pa_debug.set_curr_function( p_function => 'GET_PLAN_VERSION_DTLS'
36: ,p_debug_mode => p_pa_debug_mode);
272:
273: EXCEPTION
274: WHEN Invalid_Arg_Exc THEN
275: X_MSG_COUNT := FND_MSG_PUB.count_msg;
276: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
277: IF p_pa_debug_mode = 'Y' THEN
278: PA_DEBUG.Reset_Curr_Function;
279: END IF;
280: -- Bug 4621171: Removed RAISE statement.
279: END IF;
280: -- Bug 4621171: Removed RAISE statement.
281:
282: WHEN OTHERS THEN
283: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
284: x_msg_data := SUBSTR(SQLERRM,1,240);
285: FND_MSG_PUB.add_exc_msg
286: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
287: ,p_procedure_name => 'GET_PLAN_VERSION_DTLS');
291: p_module_name => l_module_name,
292: p_log_level => 5);
293: PA_DEBUG.Reset_Curr_Function;
294: END IF;
295: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
296:
297: END GET_PLAN_VERSION_DTLS;
298:
299: PROCEDURE CHK_CMT_TXN_CURRENCY
307: l_module_name VARCHAR2(200) := 'pa.plsql.pa_fp_gen_amount_utils.chk_cmt_txn_currency';
308: BEGIN
309:
310: X_MSG_COUNT := 0;
311: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
312:
313: IF p_pa_debug_mode = 'Y' THEN
314: pa_debug.set_curr_function( p_function => 'CHK_CMT_TXN_CURRENCY'
315: ,p_debug_mode => p_pa_debug_mode);
322: WHERE PROJECT_ID = P_PROJECT_ID
323: AND DENOM_CURRENCY_CODE <> P_PROJ_CURRENCY_CODE
324: AND NVL(generation_error_flag,'N') = 'N'
325: AND ROWNUM < 2;
326: x_return_status := FND_API.G_RET_STS_ERROR;
327: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
328: p_msg_name => 'PA_FP_CMT_MUL_CURRENCY');
329:
330: IF p_pa_debug_mode = 'Y' THEN
332: END IF;
333:
334: EXCEPTION
335: WHEN NO_DATA_FOUND THEN
336: x_return_status := FND_API.G_RET_STS_SUCCESS;
337: IF p_pa_debug_mode = 'Y' THEN
338: PA_DEBUG.Reset_Curr_Function;
339: END IF;
340: WHEN Invalid_Arg_Exc THEN
338: PA_DEBUG.Reset_Curr_Function;
339: END IF;
340: WHEN Invalid_Arg_Exc THEN
341: X_MSG_COUNT := FND_MSG_PUB.count_msg;
342: X_RETURN_STATUS:= FND_API.G_RET_STS_ERROR;
343: IF p_pa_debug_mode = 'Y' THEN
344: PA_DEBUG.Reset_Curr_Function;
345: END IF;
346: RAISE;
347:
348: WHEN OTHERS THEN
349: --dbms_output.put_line('inside excep');
350: --dbms_output.put_line(SUBSTR(SQLERRM,1,240));
351: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
352: x_msg_data := SUBSTR(SQLERRM,1,240);
353: FND_MSG_PUB.add_exc_msg
354: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
355: ,p_procedure_name => 'CHK_CMT_TXN_CURRENCY');
355: ,p_procedure_name => 'CHK_CMT_TXN_CURRENCY');
356: IF p_pa_debug_mode = 'Y' THEN
357: PA_DEBUG.Reset_Curr_Function;
358: END IF;
359: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
360: END;
361:
362: END CHK_CMT_TXN_CURRENCY;
363:
401:
402: BEGIN
403:
404: x_msg_count := 0;
405: x_return_status := FND_API.G_RET_STS_SUCCESS;
406:
407: IF p_pa_debug_mode = 'Y' THEN
408: pa_debug.set_curr_function( p_function => 'Get_Curr_Original_Version_Info'
409: ,p_debug_mode => p_pa_debug_mode);
593: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
594: l_msg_count := FND_MSG_PUB.count_msg;
595: IF l_msg_count = 1 THEN
596: PA_INTERFACE_UTILS_PUB.get_messages
597: (p_encoded => FND_API.G_TRUE
598: ,p_msg_index => 1
599: ,p_msg_count => l_msg_count
600: ,p_msg_data => l_msg_data
601: ,p_data => l_data
606: ELSE
607: x_msg_count := l_msg_count;
608: END IF;
609:
610: x_return_status := FND_API.G_RET_STS_ERROR;
611:
612: IF l_debug_mode = 'Y' THEN
613: pa_debug.g_err_stage:='Invalid Arguments Passed';
614: pa_fp_gen_amount_utils.fp_debug
621: END IF;
622: RETURN;
623:
624: WHEN Others THEN
625: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
626: x_msg_count := 1;
627: x_msg_data := SQLERRM;
628:
629: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
655:
656: BEGIN
657:
658: X_MSG_COUNT := 0;
659: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
660:
661: IF p_pa_debug_mode = 'Y' THEN
662: pa_debug.set_curr_function( p_function => 'VALIDATE_PLAN_VERSION'
663: ,p_debug_mode => p_pa_debug_mode);
677: X_FP_COLS_REC => l_fp_cols_rec,
678: X_RETURN_STATUS => X_RETURN_STATUS,
679: X_MSG_COUNT => X_MSG_COUNT,
680: X_MSG_DATA => X_MSG_DATA);
681: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
682: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
683: END IF;
684: IF p_pa_debug_mode = 'Y' THEN
685: pa_fp_gen_amount_utils.fp_debug
691: END IF;
692: --dbms_output.put_line('Status of get plan version dtls api: '||X_RETURN_STATUS);
693:
694: IF l_fp_cols_rec.X_TIME_PHASED_CODE <> 'P' OR l_fp_cols_rec.X_TIME_PHASED_CODE <> 'G' THEN
695: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
696: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
697: p_msg_name => 'PA_FP_INV_TIME_PHASE_CODE');
698: END IF;
699:
704:
705: EXCEPTION
706:
707: WHEN OTHERS THEN
708: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
709: x_msg_data := SUBSTR(SQLERRM,1,240);
710: FND_MSG_PUB.add_exc_msg
711: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
712: ,p_procedure_name => 'VALIDATE_PLAN_VERSION');
712: ,p_procedure_name => 'VALIDATE_PLAN_VERSION');
713: IF p_pa_debug_mode = 'Y' THEN
714: PA_DEBUG.Reset_Curr_Function;
715: END IF;
716: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
717:
718:
719: END VALIDATE_PLAN_VERSION;
720:
967:
968: BEGIN
969:
970: X_MSG_COUNT := 0;
971: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
972:
973: IF p_pa_debug_mode = 'Y' THEN
974: pa_debug.set_curr_function( p_function => 'GET_VALUES_FOR_PLANNING_RATE'
975: ,p_debug_mode => p_pa_debug_mode);
1212: ,x_cost_ind_compiled_set_id => x_cost_ind_compiled_set_id
1213: ,x_return_status => x_return_status
1214: ,x_msg_data => x_msg_data
1215: ,x_msg_count => x_msg_count);
1216: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
1217: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1218: END IF;
1219: IF p_pa_debug_mode = 'Y' THEN
1220: pa_fp_gen_amount_utils.fp_debug
1237: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
1238: l_msg_count := FND_MSG_PUB.count_msg;
1239: IF l_msg_count = 1 THEN
1240: PA_INTERFACE_UTILS_PUB.get_messages
1241: ( p_encoded => FND_API.G_TRUE,
1242: p_msg_index => 1,
1243: p_msg_count => l_msg_count,
1244: p_msg_data => l_msg_data,
1245: p_data => l_data,
1250: x_msg_count := l_msg_count;
1251: END IF;
1252: ROLLBACK;
1253:
1254: x_return_status := FND_API.G_RET_STS_ERROR;
1255: IF P_PA_DEBUG_MODE = 'Y' THEN
1256: pa_fp_gen_amount_utils.fp_debug
1257: (p_msg => 'Invalid Arguments Passed',
1258: p_module_name => l_module_name,
1263:
1264: WHEN OTHERS THEN
1265: --dbms_output.put_line('inside excep');
1266: --dbms_output.put_line(SUBSTR(SQLERRM,1,240));
1267: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1268: x_msg_data := SUBSTR(SQLERRM,1,240);
1269: FND_MSG_PUB.add_exc_msg
1270: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS'
1271: ,p_procedure_name => 'GET_VALUES_FOR_PLANNING_RATE');
1271: ,p_procedure_name => 'GET_VALUES_FOR_PLANNING_RATE');
1272: IF p_pa_debug_mode = 'Y' THEN
1273: PA_DEBUG.Reset_Curr_Function;
1274: END IF;
1275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1276:
1277: END GET_VALUES_FOR_PLANNING_RATE;
1278:
1279: PROCEDURE FP_DEBUG
1523: IF p_pa_debug_mode = 'Y' THEN
1524: pa_debug.set_curr_function( p_function => 'VALIDATE_SUPPORT_CASES',
1525: p_debug_mode => p_pa_debug_mode);
1526: END IF;
1527: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1528: X_MSG_COUNT := 0;
1529: X_WARNING_MESSAGE := NULL;
1530:
1531: -- Initialize local copy of target version details
1589: ||x_return_status,
1590: p_module_name => l_module_name,
1591: p_log_level => 5);
1592: END IF;
1593: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
1594: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1595: END IF;
1596: l_fp_cols_rec_tgt := x_fp_cols_rec_tgt;
1597: l_default_bdgt_src_ver_flag := 'N';
1629: ||x_return_status,
1630: p_module_name => l_module_name,
1631: p_log_level => 5);
1632: END IF;
1633: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
1634: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1635: END IF;
1636:
1637: /* If source/target planning options are equal, then this
1821: ||x_return_status,
1822: p_module_name => l_module_name,
1823: p_log_level => 5);
1824: END IF;
1825: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
1826: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1827: END IF;
1828:
1829: IF l_fp_cols_rec_source.x_time_phased_code = 'N' THEN
1874: ||x_return_status,
1875: p_module_name => l_module_name,
1876: p_log_level => 5);
1877: END IF;
1878: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
1879: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1880: END IF;
1881:
1882: IF l_fp_cols_rec_source.x_time_phased_code = 'N' THEN
1931: ||x_return_status,
1932: p_module_name => l_module_name,
1933: p_log_level => 5);
1934: END IF;
1935: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
1936: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1937: END IF;
1938:
1939: l_fp_cols_rec_tgt := x_fp_cols_rec_tgt;
2203: ||x_return_status,
2204: p_module_name => l_module_name,
2205: p_log_level => 5);
2206: END IF;
2207: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
2208: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2209: END IF;
2210: IF (l_fp_cols_rec_source.X_VERSION_TYPE = 'ALL'
2211: AND nvl(l_fp_cols_rec_source.x_revenue_derivation_method,'W')
2246: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2247: END IF;
2248:
2249: PA_INTERFACE_UTILS_PUB.get_messages
2250: ( p_encoded => FND_API.G_FALSE, --TRUE,
2251: p_msg_index => 1,
2252: --p_msg_count => 1,
2253: --p_msg_data => l_msg_data ,
2254: p_data => X_WARNING_MESSAGE,
2271: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2272: l_msg_count := FND_MSG_PUB.count_msg;
2273: IF l_msg_count = 1 THEN
2274: PA_INTERFACE_UTILS_PUB.get_messages
2275: ( p_encoded => FND_API.G_TRUE,
2276: p_msg_index => 1,
2277: p_msg_count => l_msg_count,
2278: p_msg_data => l_msg_data,
2279: p_data => l_data,
2283: ELSE
2284: x_msg_count := l_msg_count;
2285: END IF;
2286:
2287: x_return_status := FND_API.G_RET_STS_ERROR;
2288:
2289: IF P_PA_DEBUG_MODE = 'Y' THEN
2290: pa_fp_gen_amount_utils.fp_debug
2291: ( p_called_mode => p_calling_context,
2298: ROLLBACK;
2299: RAISE;
2300: WHEN OTHERS THEN
2301: rollback;
2302: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2303: x_msg_count := 1;
2304: x_msg_data := substr(sqlerrm,1,240);
2305: FND_MSG_PUB.add_exc_msg
2306: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS',
2314: p_module_name => l_module_name,
2315: p_log_level => 5);
2316: PA_DEBUG.RESET_CURR_FUNCTION;
2317: END IF;
2318: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2319: END VALIDATE_SUPPORT_CASES;
2320:
2321:
2322: /**
2380: p_debug_mode => p_pa_debug_mode );
2381: END IF;
2382:
2383: -- Initialize OUT parameters with default values
2384: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2385: X_MSG_COUNT := 0;
2386: X_FP_COLS_REC_TGT := P_FP_COLS_REC_TGT;
2387:
2388: l_plan_class_code := P_FP_COLS_REC_TGT.X_PLAN_CLASS_CODE;
2540: ||x_return_status,
2541: p_module_name => l_module_name,
2542: p_log_level => 5 );
2543: END IF;
2544: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2545: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2546: END IF;
2547:
2548: ELSIF l_gen_src_plan_ver_code = 'CURRENT_WORKING' THEN
2572: ||x_return_status,
2573: p_module_name => l_module_name,
2574: p_log_level => 5 );
2575: END IF;
2576: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2577: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2578: END IF;
2579: ELSE
2580: l_dummy := 1;
2633: ||x_return_status,
2634: p_module_name => l_module_name,
2635: p_log_level => 5);
2636: END IF;
2637: IF X_RETURN_STATUS <> FND_API.G_RET_STS_SUCCESS THEN
2638: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2639: END IF;
2640: END IF; -- l_update_details_flag check
2641:
2648: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2649: l_msg_count := FND_MSG_PUB.count_msg;
2650: IF l_msg_count = 1 THEN
2651: PA_INTERFACE_UTILS_PUB.get_messages
2652: ( p_encoded => FND_API.G_TRUE,
2653: p_msg_index => 1,
2654: p_msg_count => l_msg_count,
2655: p_msg_data => l_msg_data,
2656: p_data => l_data,
2660: ELSE
2661: x_msg_count := l_msg_count;
2662: END IF;
2663:
2664: x_return_status := FND_API.G_RET_STS_ERROR;
2665:
2666: IF P_PA_DEBUG_MODE = 'Y' THEN
2667: pa_fp_gen_amount_utils.fp_debug
2668: ( p_called_mode => p_calling_context,
2675: ROLLBACK;
2676: RAISE;
2677: WHEN OTHERS THEN
2678: rollback;
2679: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2680: x_msg_count := 1;
2681: x_msg_data := substr(sqlerrm,1,240);
2682: FND_MSG_PUB.add_exc_msg
2683: ( p_pkg_name => 'PA_FP_GEN_AMOUNT_UTILS',
2691: p_module_name => l_module_name,
2692: p_log_level => 5);
2693: PA_DEBUG.RESET_CURR_FUNCTION;
2694: END IF;
2695: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2696: END DEFAULT_BDGT_SRC_VER;
2697: --Added for CBS
2698: FUNCTION get_src_resource_class_flag(P_BUDGET_VERSION_ID PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE)
2699: RETURN VARCHAR2