22: /*========================================================================
23: This procedure is used to acquie required locks for copy_plan
24: =======================================================================*/
25:
26: P_PA_DEBUG_MODE varchar2(1) := NVL(FND_PROFILE.value('PA_DEBUG_MODE'), 'N');
27:
28: PROCEDURE Acquire_Locks_For_Copy_Plan(
29: p_source_plan_version_id IN NUMBER
30: ,p_target_plan_version_id IN NUMBER
71:
72: x_msg_count := 0;
73: x_return_status := FND_API.G_RET_STS_SUCCESS;
74:
75: IF P_PA_DEBUG_MODE = 'Y' THEN
76: pa_debug.set_err_stack('Acquire_Locks_For_Copy_Plan');
77: END IF;
78: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
79: l_debug_mode := NVL(l_debug_mode, 'Y');
72: x_msg_count := 0;
73: x_return_status := FND_API.G_RET_STS_SUCCESS;
74:
75: IF P_PA_DEBUG_MODE = 'Y' THEN
76: pa_debug.set_err_stack('Acquire_Locks_For_Copy_Plan');
77: END IF;
78: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
79: l_debug_mode := NVL(l_debug_mode, 'Y');
80: IF P_PA_DEBUG_MODE = 'Y' THEN
74:
75: IF P_PA_DEBUG_MODE = 'Y' THEN
76: pa_debug.set_err_stack('Acquire_Locks_For_Copy_Plan');
77: END IF;
78: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
79: l_debug_mode := NVL(l_debug_mode, 'Y');
80: IF P_PA_DEBUG_MODE = 'Y' THEN
81: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
82: END IF;
76: pa_debug.set_err_stack('Acquire_Locks_For_Copy_Plan');
77: END IF;
78: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
79: l_debug_mode := NVL(l_debug_mode, 'Y');
80: IF P_PA_DEBUG_MODE = 'Y' THEN
81: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
82: END IF;
83: /*
84: * Acquire lock on pa_proj_fp_options and pa_budget_versions so that
77: END IF;
78: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
79: l_debug_mode := NVL(l_debug_mode, 'Y');
80: IF P_PA_DEBUG_MODE = 'Y' THEN
81: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
82: END IF;
83: /*
84: * Acquire lock on pa_proj_fp_options and pa_budget_versions so that
85: * no other process would be able to modify these tables and all
85: * no other process would be able to modify these tables and all
86: * underlying child tables
87: */
88:
89: IF P_PA_DEBUG_MODE = 'Y' THEN
90: pa_debug.g_err_stage:='Acquiring lock on pa_proj_fp_options';
91: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
92: END IF;
93:
86: * underlying child tables
87: */
88:
89: IF P_PA_DEBUG_MODE = 'Y' THEN
90: pa_debug.g_err_stage:='Acquiring lock on pa_proj_fp_options';
91: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
92: END IF;
93:
94: OPEN source_fp_opt_cur;
87: */
88:
89: IF P_PA_DEBUG_MODE = 'Y' THEN
90: pa_debug.g_err_stage:='Acquiring lock on pa_proj_fp_options';
91: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
92: END IF;
93:
94: OPEN source_fp_opt_cur;
95:
94: OPEN source_fp_opt_cur;
95:
96: OPEN target_fp_opt_cur;
97:
98: IF P_PA_DEBUG_MODE = 'Y' THEN
99: pa_debug.g_err_stage:='Acquiring lock on pa_budget_versions';
100: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
101: END IF;
102:
95:
96: OPEN target_fp_opt_cur;
97:
98: IF P_PA_DEBUG_MODE = 'Y' THEN
99: pa_debug.g_err_stage:='Acquiring lock on pa_budget_versions';
100: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
101: END IF;
102:
103: OPEN source_bdgt_vers_cur;
96: OPEN target_fp_opt_cur;
97:
98: IF P_PA_DEBUG_MODE = 'Y' THEN
99: pa_debug.g_err_stage:='Acquiring lock on pa_budget_versions';
100: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
101: END IF;
102:
103: OPEN source_bdgt_vers_cur;
104:
108: * Increment the record_version_number of target version in
109: * pa_budget_versions and pa_proj_fp_options
110: */
111:
112: IF P_PA_DEBUG_MODE = 'Y' THEN
113: pa_debug.g_err_stage:='Incrementing record version number of target version in pa_proj_fp_options';
114: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
115: END IF;
116:
109: * pa_budget_versions and pa_proj_fp_options
110: */
111:
112: IF P_PA_DEBUG_MODE = 'Y' THEN
113: pa_debug.g_err_stage:='Incrementing record version number of target version in pa_proj_fp_options';
114: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
115: END IF;
116:
117: UPDATE PA_PROJ_FP_OPTIONS
110: */
111:
112: IF P_PA_DEBUG_MODE = 'Y' THEN
113: pa_debug.g_err_stage:='Incrementing record version number of target version in pa_proj_fp_options';
114: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
115: END IF;
116:
117: UPDATE PA_PROJ_FP_OPTIONS
118: SET record_version_number = record_version_number+1
117: UPDATE PA_PROJ_FP_OPTIONS
118: SET record_version_number = record_version_number+1
119: WHERE fin_plan_version_id=p_target_plan_version_id;
120:
121: IF P_PA_DEBUG_MODE = 'Y' THEN
122: pa_debug.g_err_stage:='Incrementing record version number of target version in pa_budget_versions';
123: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
124: END IF;
125:
118: SET record_version_number = record_version_number+1
119: WHERE fin_plan_version_id=p_target_plan_version_id;
120:
121: IF P_PA_DEBUG_MODE = 'Y' THEN
122: pa_debug.g_err_stage:='Incrementing record version number of target version in pa_budget_versions';
123: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
124: END IF;
125:
126: UPDATE PA_BUDGET_VERSIONS
119: WHERE fin_plan_version_id=p_target_plan_version_id;
120:
121: IF P_PA_DEBUG_MODE = 'Y' THEN
122: pa_debug.g_err_stage:='Incrementing record version number of target version in pa_budget_versions';
123: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
124: END IF;
125:
126: UPDATE PA_BUDGET_VERSIONS
127: SET record_version_number = record_version_number+1
126: UPDATE PA_BUDGET_VERSIONS
127: SET record_version_number = record_version_number+1
128: WHERE budget_version_id = p_target_plan_version_id;
129:
130: IF P_PA_DEBUG_MODE = 'Y' THEN
131: pa_debug.g_err_stage:='Closing all the cursors ';
132: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
133: END IF;
134:
127: SET record_version_number = record_version_number+1
128: WHERE budget_version_id = p_target_plan_version_id;
129:
130: IF P_PA_DEBUG_MODE = 'Y' THEN
131: pa_debug.g_err_stage:='Closing all the cursors ';
132: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
133: END IF;
134:
135: CLOSE target_bdgt_vers_cur;
128: WHERE budget_version_id = p_target_plan_version_id;
129:
130: IF P_PA_DEBUG_MODE = 'Y' THEN
131: pa_debug.g_err_stage:='Closing all the cursors ';
132: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
133: END IF;
134:
135: CLOSE target_bdgt_vers_cur;
136: CLOSE source_bdgt_vers_cur;
135: CLOSE target_bdgt_vers_cur;
136: CLOSE source_bdgt_vers_cur;
137: CLOSE target_fp_opt_cur;
138: CLOSE source_fp_opt_cur;
139: IF P_PA_DEBUG_MODE = 'Y' THEN
140: pa_debug.reset_err_stack;
141: END IF;
142: EXCEPTION
143: WHEN Resource_Busy THEN
136: CLOSE source_bdgt_vers_cur;
137: CLOSE target_fp_opt_cur;
138: CLOSE source_fp_opt_cur;
139: IF P_PA_DEBUG_MODE = 'Y' THEN
140: pa_debug.reset_err_stack;
141: END IF;
142: EXCEPTION
143: WHEN Resource_Busy THEN
144: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
143: WHEN Resource_Busy THEN
144: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
145: p_msg_name => 'PA_UTIL_USER_LOCK_FAILED');
146:
147: IF P_PA_DEBUG_MODE = 'Y' THEN
148: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
149: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
150: END IF;
151:
144: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
145: p_msg_name => 'PA_UTIL_USER_LOCK_FAILED');
146:
147: IF P_PA_DEBUG_MODE = 'Y' THEN
148: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
149: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
150: END IF;
151:
152: IF source_fp_opt_cur%ISOPEN THEN
145: p_msg_name => 'PA_UTIL_USER_LOCK_FAILED');
146:
147: IF P_PA_DEBUG_MODE = 'Y' THEN
148: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
149: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
150: END IF;
151:
152: IF source_fp_opt_cur%ISOPEN THEN
153: CLOSE source_fp_opt_cur;
180: x_msg_count := l_msg_count;
181: END IF;
182:
183: x_return_status:= FND_API.G_RET_STS_ERROR;
184: IF P_PA_DEBUG_MODE = 'Y' THEN
185: pa_debug.reset_err_stack;
186: END IF;
187: RAISE;
188:
181: END IF;
182:
183: x_return_status:= FND_API.G_RET_STS_ERROR;
184: IF P_PA_DEBUG_MODE = 'Y' THEN
185: pa_debug.reset_err_stack;
186: END IF;
187: RAISE;
188:
189: WHEN OTHERS THEN
187: RAISE;
188:
189: WHEN OTHERS THEN
190:
191: IF P_PA_DEBUG_MODE = 'Y' THEN
192: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
193: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
194: END IF;
195:
188:
189: WHEN OTHERS THEN
190:
191: IF P_PA_DEBUG_MODE = 'Y' THEN
192: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
193: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
194: END IF;
195:
196: IF source_fp_opt_cur%ISOPEN THEN
189: WHEN OTHERS THEN
190:
191: IF P_PA_DEBUG_MODE = 'Y' THEN
192: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
193: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
194: END IF;
195:
196: IF source_fp_opt_cur%ISOPEN THEN
197: CLOSE source_fp_opt_cur;
213: x_msg_count := 1;
214: x_msg_data := SQLERRM;
215: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
216: ,p_procedure_name => 'ACQUIRE_LOCKS_FOR_COPY_PLAN');
217: IF P_PA_DEBUG_MODE = 'Y' THEN
218: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
219: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
220:
221: pa_debug.reset_err_stack;
214: x_msg_data := SQLERRM;
215: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
216: ,p_procedure_name => 'ACQUIRE_LOCKS_FOR_COPY_PLAN');
217: IF P_PA_DEBUG_MODE = 'Y' THEN
218: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
219: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
220:
221: pa_debug.reset_err_stack;
222: END IF;
215: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
216: ,p_procedure_name => 'ACQUIRE_LOCKS_FOR_COPY_PLAN');
217: IF P_PA_DEBUG_MODE = 'Y' THEN
218: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
219: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
220:
221: pa_debug.reset_err_stack;
222: END IF;
223: RAISE;
217: IF P_PA_DEBUG_MODE = 'Y' THEN
218: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
219: pa_debug.write('Acquire_Locks_For_Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
220:
221: pa_debug.reset_err_stack;
222: END IF;
223: RAISE;
224: END Acquire_Locks_For_Copy_Plan;
225:
359: FND_MSG_PUB.INITIALIZE;
360: x_msg_count := 0;
361: x_return_status := FND_API.G_RET_STS_SUCCESS;
362:
363: IF P_PA_DEBUG_MODE = 'Y' THEN
364: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Plan');
365: END IF;
366: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
367: l_debug_mode := NVL(l_debug_mode, 'Y');
360: x_msg_count := 0;
361: x_return_status := FND_API.G_RET_STS_SUCCESS;
362:
363: IF P_PA_DEBUG_MODE = 'Y' THEN
364: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Plan');
365: END IF;
366: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
367: l_debug_mode := NVL(l_debug_mode, 'Y');
368: IF P_PA_DEBUG_MODE = 'Y' THEN
362:
363: IF P_PA_DEBUG_MODE = 'Y' THEN
364: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Plan');
365: END IF;
366: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
367: l_debug_mode := NVL(l_debug_mode, 'Y');
368: IF P_PA_DEBUG_MODE = 'Y' THEN
369: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
370: END IF;
364: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Plan');
365: END IF;
366: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
367: l_debug_mode := NVL(l_debug_mode, 'Y');
368: IF P_PA_DEBUG_MODE = 'Y' THEN
369: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
370: END IF;
371: /*
372: * Check if source_verion_id, target_version_id are NULL, if so throw
365: END IF;
366: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
367: l_debug_mode := NVL(l_debug_mode, 'Y');
368: IF P_PA_DEBUG_MODE = 'Y' THEN
369: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
370: END IF;
371: /*
372: * Check if source_verion_id, target_version_id are NULL, if so throw
373: * an error message
372: * Check if source_verion_id, target_version_id are NULL, if so throw
373: * an error message
374: */
375:
376: IF P_PA_DEBUG_MODE = 'Y' THEN
377: pa_debug.g_err_stage := 'Checking for valid parameters:';
378: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
379: END IF;
380:
373: * an error message
374: */
375:
376: IF P_PA_DEBUG_MODE = 'Y' THEN
377: pa_debug.g_err_stage := 'Checking for valid parameters:';
378: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
379: END IF;
380:
381: IF (p_source_plan_version_id IS NULL) OR
374: */
375:
376: IF P_PA_DEBUG_MODE = 'Y' THEN
377: pa_debug.g_err_stage := 'Checking for valid parameters:';
378: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
379: END IF;
380:
381: IF (p_source_plan_version_id IS NULL) OR
382: (p_target_plan_version_id IS NULL)
380:
381: IF (p_source_plan_version_id IS NULL) OR
382: (p_target_plan_version_id IS NULL)
383: THEN
384: IF P_PA_DEBUG_MODE = 'Y' THEN
385: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
386: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
387: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
388: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
381: IF (p_source_plan_version_id IS NULL) OR
382: (p_target_plan_version_id IS NULL)
383: THEN
384: IF P_PA_DEBUG_MODE = 'Y' THEN
385: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
386: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
387: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
388: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
389: END IF;
382: (p_target_plan_version_id IS NULL)
383: THEN
384: IF P_PA_DEBUG_MODE = 'Y' THEN
385: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
386: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
387: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
388: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
389: END IF;
390:
383: THEN
384: IF P_PA_DEBUG_MODE = 'Y' THEN
385: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
386: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
387: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
388: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
389: END IF;
390:
391: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
384: IF P_PA_DEBUG_MODE = 'Y' THEN
385: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
386: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
387: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
388: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
389: END IF;
390:
391: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
392: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
396: l_adj_percentage := NVL(p_adj_percentage,0);
397:
398: -- Doing business validations before proceeding furthur
399:
400: IF P_PA_DEBUG_MODE = 'Y' THEN
401: pa_debug.g_err_stage:='Fetching the source plan preference code';
402: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
403: END IF;
404:
397:
398: -- Doing business validations before proceeding furthur
399:
400: IF P_PA_DEBUG_MODE = 'Y' THEN
401: pa_debug.g_err_stage:='Fetching the source plan preference code';
402: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
403: END IF;
404:
405: SELECT fin_plan_preference_code
398: -- Doing business validations before proceeding furthur
399:
400: IF P_PA_DEBUG_MODE = 'Y' THEN
401: pa_debug.g_err_stage:='Fetching the source plan preference code';
402: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
403: END IF;
404:
405: SELECT fin_plan_preference_code
406: ,plan_in_multi_curr_flag -- Bug#2729191
410: ,l_source_appr_rev_plan_flag /* Bug#3276128 */
411: FROM pa_proj_fp_options
412: WHERE fin_plan_version_id=p_source_plan_version_id;
413:
414: IF P_PA_DEBUG_MODE = 'Y' THEN
415: pa_debug.g_err_stage:='Fetching the target plan preference code';
416: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
417: END IF;
418:
411: FROM pa_proj_fp_options
412: WHERE fin_plan_version_id=p_source_plan_version_id;
413:
414: IF P_PA_DEBUG_MODE = 'Y' THEN
415: pa_debug.g_err_stage:='Fetching the target plan preference code';
416: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
417: END IF;
418:
419: SELECT fin_plan_preference_code,nvl(approved_rev_plan_type_flag,'N')
412: WHERE fin_plan_version_id=p_source_plan_version_id;
413:
414: IF P_PA_DEBUG_MODE = 'Y' THEN
415: pa_debug.g_err_stage:='Fetching the target plan preference code';
416: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
417: END IF;
418:
419: SELECT fin_plan_preference_code,nvl(approved_rev_plan_type_flag,'N')
420: INTO l_target_fp_pref_code,l_target_appr_rev_plan_flag
420: INTO l_target_fp_pref_code,l_target_appr_rev_plan_flag
421: FROM pa_proj_fp_options
422: WHERE fin_plan_version_id=p_target_plan_version_id;
423:
424: IF P_PA_DEBUG_MODE = 'Y' THEN
425: pa_debug.g_err_stage:='Checking the compatability of the plans';
426: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
427: END IF;
428:
421: FROM pa_proj_fp_options
422: WHERE fin_plan_version_id=p_target_plan_version_id;
423:
424: IF P_PA_DEBUG_MODE = 'Y' THEN
425: pa_debug.g_err_stage:='Checking the compatability of the plans';
426: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
427: END IF;
428:
429: IF (l_source_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY AND
422: WHERE fin_plan_version_id=p_target_plan_version_id;
423:
424: IF P_PA_DEBUG_MODE = 'Y' THEN
425: pa_debug.g_err_stage:='Checking the compatability of the plans';
426: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
427: END IF;
428:
429: IF (l_source_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY AND
430: l_target_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY)
432: l_target_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY)
433: OR (l_target_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP)
434: OR (l_source_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP)
435: THEN
436: IF P_PA_DEBUG_MODE = 'Y' THEN
437: pa_debug.g_err_stage:='Versions are incompatible';
438: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
439: END IF;
440:
433: OR (l_target_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP)
434: OR (l_source_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP)
435: THEN
436: IF P_PA_DEBUG_MODE = 'Y' THEN
437: pa_debug.g_err_stage:='Versions are incompatible';
438: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
439: END IF;
440:
441: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
434: OR (l_source_fp_pref_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP)
435: THEN
436: IF P_PA_DEBUG_MODE = 'Y' THEN
437: pa_debug.g_err_stage:='Versions are incompatible';
438: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
439: END IF;
440:
441: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
442: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
451: mc enabled budget version into approved revenue budget versions **
452:
453:
454: IF l_source_appr_rev_plan_flag = 'N' and l_source_plan_in_mc_flag = 'Y' and l_target_appr_rev_plan_flag = 'Y' THEN
455: IF P_PA_DEBUG_MODE = 'Y' THEN
456: pa_debug.g_err_stage:='Cannot copy a mc enabled version into a appr rev plan type version. Bug 3149010';
457: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
458: END IF;
459:
452:
453:
454: IF l_source_appr_rev_plan_flag = 'N' and l_source_plan_in_mc_flag = 'Y' and l_target_appr_rev_plan_flag = 'Y' THEN
455: IF P_PA_DEBUG_MODE = 'Y' THEN
456: pa_debug.g_err_stage:='Cannot copy a mc enabled version into a appr rev plan type version. Bug 3149010';
457: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
458: END IF;
459:
460: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
453:
454: IF l_source_appr_rev_plan_flag = 'N' and l_source_plan_in_mc_flag = 'Y' and l_target_appr_rev_plan_flag = 'Y' THEN
455: IF P_PA_DEBUG_MODE = 'Y' THEN
456: pa_debug.g_err_stage:='Cannot copy a mc enabled version into a appr rev plan type version. Bug 3149010';
457: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
458: END IF;
459:
460: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
461: p_msg_name => 'PA_FP_CP_INV_MC_TO_APPR_REV');
462: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
463:
464: END IF; */
465:
466: IF P_PA_DEBUG_MODE = 'Y' THEN
467: pa_debug.g_err_stage := 'Parameter validation complete';
468: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
469: END IF;
470:
463:
464: END IF; */
465:
466: IF P_PA_DEBUG_MODE = 'Y' THEN
467: pa_debug.g_err_stage := 'Parameter validation complete';
468: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
469: END IF;
470:
471: /* Bug #2616445: Commented out the following code for checking the lock as the
464: END IF; */
465:
466: IF P_PA_DEBUG_MODE = 'Y' THEN
467: pa_debug.g_err_stage := 'Parameter validation complete';
468: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
469: END IF;
470:
471: /* Bug #2616445: Commented out the following code for checking the lock as the
472: user will be able to edit plan only if it is not locked by somebody else.
472: user will be able to edit plan only if it is not locked by somebody else.
473:
474: --Checking if target version is locked or not
475:
476: IF P_PA_DEBUG_MODE = 'Y' THEN
477: pa_debug.g_err_stage:='Checking if pa_budget_versions is locked';
478: END IF;
479: IF P_PA_DEBUG_MODE = 'Y' THEN
480: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
473:
474: --Checking if target version is locked or not
475:
476: IF P_PA_DEBUG_MODE = 'Y' THEN
477: pa_debug.g_err_stage:='Checking if pa_budget_versions is locked';
478: END IF;
479: IF P_PA_DEBUG_MODE = 'Y' THEN
480: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
481: END IF;
475:
476: IF P_PA_DEBUG_MODE = 'Y' THEN
477: pa_debug.g_err_stage:='Checking if pa_budget_versions is locked';
478: END IF;
479: IF P_PA_DEBUG_MODE = 'Y' THEN
480: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
481: END IF;
482:
483: SELECT locked_by_person_id
476: IF P_PA_DEBUG_MODE = 'Y' THEN
477: pa_debug.g_err_stage:='Checking if pa_budget_versions is locked';
478: END IF;
479: IF P_PA_DEBUG_MODE = 'Y' THEN
480: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
481: END IF;
482:
483: SELECT locked_by_person_id
484: ,project_id
492: p_msg_name => 'PA_FP_VERSION_ALREADY_LOCKED');
493: RAISE Resource_Busy;
494: END IF; */
495:
496: IF P_PA_DEBUG_MODE = 'Y' THEN
497: pa_debug.g_err_stage:='Getting the project id';
498: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
499: END IF;
500:
493: RAISE Resource_Busy;
494: END IF; */
495:
496: IF P_PA_DEBUG_MODE = 'Y' THEN
497: pa_debug.g_err_stage:='Getting the project id';
498: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
499: END IF;
500:
501: SELECT project_id
494: END IF; */
495:
496: IF P_PA_DEBUG_MODE = 'Y' THEN
497: pa_debug.g_err_stage:='Getting the project id';
498: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
499: END IF;
500:
501: SELECT project_id
502: INTO l_project_id
534: (l_source_plan_in_mc_flag = 'Y' and l_target_appr_rev_plan_flag = 'Y' )) -- added for 3156057
535: THEN
536:
537: OPEN target_txn_currencies_cur;
538: IF P_PA_DEBUG_MODE = 'Y' THEN
539: pa_debug.g_err_stage:='target_txn_currencies_cur is opened';
540: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
541: END IF;
542:
535: THEN
536:
537: OPEN target_txn_currencies_cur;
538: IF P_PA_DEBUG_MODE = 'Y' THEN
539: pa_debug.g_err_stage:='target_txn_currencies_cur is opened';
540: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
541: END IF;
542:
543: FETCH target_txn_currencies_cur BULK COLLECT INTO
536:
537: OPEN target_txn_currencies_cur;
538: IF P_PA_DEBUG_MODE = 'Y' THEN
539: pa_debug.g_err_stage:='target_txn_currencies_cur is opened';
540: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
541: END IF;
542:
543: FETCH target_txn_currencies_cur BULK COLLECT INTO
544: l_txn_currency_code_tbl
551: ,l_pc_rev_exchange_rate_tbl
552: ,l_pfc_cost_exchange_rate_tbl
553: ,l_pfc_rev_exchange_rate_tbl;
554:
555: IF P_PA_DEBUG_MODE = 'Y' THEN
556: pa_debug.g_err_stage:='no of txn currencies fetched are '||SQL%ROWCOUNT;
557: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
558: END IF;
559: CLOSE target_txn_currencies_cur;
552: ,l_pfc_cost_exchange_rate_tbl
553: ,l_pfc_rev_exchange_rate_tbl;
554:
555: IF P_PA_DEBUG_MODE = 'Y' THEN
556: pa_debug.g_err_stage:='no of txn currencies fetched are '||SQL%ROWCOUNT;
557: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
558: END IF;
559: CLOSE target_txn_currencies_cur;
560:
553: ,l_pfc_rev_exchange_rate_tbl;
554:
555: IF P_PA_DEBUG_MODE = 'Y' THEN
556: pa_debug.g_err_stage:='no of txn currencies fetched are '||SQL%ROWCOUNT;
557: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
558: END IF;
559: CLOSE target_txn_currencies_cur;
560:
561: IF P_PA_DEBUG_MODE = 'Y' THEN
557: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
558: END IF;
559: CLOSE target_txn_currencies_cur;
560:
561: IF P_PA_DEBUG_MODE = 'Y' THEN
562: pa_debug.g_err_stage:='target_txn_currencies_cur is closed';
563: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
564: END IF;
565:
558: END IF;
559: CLOSE target_txn_currencies_cur;
560:
561: IF P_PA_DEBUG_MODE = 'Y' THEN
562: pa_debug.g_err_stage:='target_txn_currencies_cur is closed';
563: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
564: END IF;
565:
566: END IF;
559: CLOSE target_txn_currencies_cur;
560:
561: IF P_PA_DEBUG_MODE = 'Y' THEN
562: pa_debug.g_err_stage:='target_txn_currencies_cur is closed';
563: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
564: END IF;
565:
566: END IF;
567: -- End of changes for bug 2729191
569: -- Calling an api to delete the existing records of target_version in
570: -- pa_proj_periods_denorm, p_fin_plan_adj_lines, pa_fp_adj_elements,
571: -- pa_budget_lines,pa_resource_assignments
572:
573: IF P_PA_DEBUG_MODE = 'Y' THEN
574: pa_debug.g_err_stage:='Calling the delete version api';
575: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
576: END IF;
577:
570: -- pa_proj_periods_denorm, p_fin_plan_adj_lines, pa_fp_adj_elements,
571: -- pa_budget_lines,pa_resource_assignments
572:
573: IF P_PA_DEBUG_MODE = 'Y' THEN
574: pa_debug.g_err_stage:='Calling the delete version api';
575: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
576: END IF;
577:
578: PA_FIN_PLAN_PUB.DELETE_VERSION_HELPER(
571: -- pa_budget_lines,pa_resource_assignments
572:
573: IF P_PA_DEBUG_MODE = 'Y' THEN
574: pa_debug.g_err_stage:='Calling the delete version api';
575: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
576: END IF;
577:
578: PA_FIN_PLAN_PUB.DELETE_VERSION_HELPER(
579: p_budget_version_id => p_target_plan_version_id
589: --Calling the api to copy source version to target version
590:
591: l_target_plan_version_id := p_target_plan_version_id;
592:
593: IF P_PA_DEBUG_MODE = 'Y' THEN
594: pa_debug.g_err_stage:='Calling the copy version api';
595: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
596: END IF;
597:
590:
591: l_target_plan_version_id := p_target_plan_version_id;
592:
593: IF P_PA_DEBUG_MODE = 'Y' THEN
594: pa_debug.g_err_stage:='Calling the copy version api';
595: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
596: END IF;
597:
598: PA_FIN_PLAN_PUB.COPY_VERSION(
591: l_target_plan_version_id := p_target_plan_version_id;
592:
593: IF P_PA_DEBUG_MODE = 'Y' THEN
594: pa_debug.g_err_stage:='Calling the copy version api';
595: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
596: END IF;
597:
598: PA_FIN_PLAN_PUB.COPY_VERSION(
599: p_project_id => l_project_id
618: THEN
619:
620: -- Delete the txn currencies that are copied from source version to target version
621:
622: IF P_PA_DEBUG_MODE = 'Y' THEN
623: pa_debug.g_err_stage:='Deleting the txn currencies of the target version after copy_version';
624: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
625: END IF;
626:
619:
620: -- Delete the txn currencies that are copied from source version to target version
621:
622: IF P_PA_DEBUG_MODE = 'Y' THEN
623: pa_debug.g_err_stage:='Deleting the txn currencies of the target version after copy_version';
624: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
625: END IF;
626:
627: DELETE FROM pa_fp_txn_currencies
620: -- Delete the txn currencies that are copied from source version to target version
621:
622: IF P_PA_DEBUG_MODE = 'Y' THEN
623: pa_debug.g_err_stage:='Deleting the txn currencies of the target version after copy_version';
624: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
625: END IF;
626:
627: DELETE FROM pa_fp_txn_currencies
628: WHERE fin_plan_version_id = p_target_plan_version_id
629: AND proj_fp_options_id = target_fp_options_rec.proj_fp_options_id; -- bug 2779637
630:
631: -- Update the Multi_Curr_Flag and the MC attributes of the target fp option
632:
633: IF P_PA_DEBUG_MODE = 'Y' THEN
634: pa_debug.g_err_stage:='Updating the target proj fp option with the MC attributes';
635: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
636: END IF;
637:
630:
631: -- Update the Multi_Curr_Flag and the MC attributes of the target fp option
632:
633: IF P_PA_DEBUG_MODE = 'Y' THEN
634: pa_debug.g_err_stage:='Updating the target proj fp option with the MC attributes';
635: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
636: END IF;
637:
638: UPDATE PA_PROJ_FP_OPTIONS
631: -- Update the Multi_Curr_Flag and the MC attributes of the target fp option
632:
633: IF P_PA_DEBUG_MODE = 'Y' THEN
634: pa_debug.g_err_stage:='Updating the target proj fp option with the MC attributes';
635: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
636: END IF;
637:
638: UPDATE PA_PROJ_FP_OPTIONS
639: SET plan_in_multi_curr_flag = target_fp_options_rec.plan_in_multi_curr_flag
655: -- which are stored in the plsql tables
656:
657: IF NVL(l_txn_currency_code_tbl.last,0) > 0 THEN
658:
659: IF P_PA_DEBUG_MODE = 'Y' THEN
660: pa_debug.g_err_stage:='Inserting the txn currencies of the target version
661: present earlier to copy version';
662: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
663: END IF;
656:
657: IF NVL(l_txn_currency_code_tbl.last,0) > 0 THEN
658:
659: IF P_PA_DEBUG_MODE = 'Y' THEN
660: pa_debug.g_err_stage:='Inserting the txn currencies of the target version
661: present earlier to copy version';
662: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
663: END IF;
664:
658:
659: IF P_PA_DEBUG_MODE = 'Y' THEN
660: pa_debug.g_err_stage:='Inserting the txn currencies of the target version
661: present earlier to copy version';
662: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
663: END IF;
664:
665: FORALL i IN l_txn_currency_code_tbl.first..l_txn_currency_code_tbl.last
666: INSERT INTO PA_FP_TXN_CURRENCIES (
709: END IF;
710: END IF;
711: -- End of changes for bug 2729191
712:
713: IF P_PA_DEBUG_MODE = 'Y' THEN
714: pa_debug.g_err_stage:='Exiting Copy_Plan';
715: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
716: pa_debug.reset_err_stack;
717: END IF;
710: END IF;
711: -- End of changes for bug 2729191
712:
713: IF P_PA_DEBUG_MODE = 'Y' THEN
714: pa_debug.g_err_stage:='Exiting Copy_Plan';
715: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
716: pa_debug.reset_err_stack;
717: END IF;
718: EXCEPTION
711: -- End of changes for bug 2729191
712:
713: IF P_PA_DEBUG_MODE = 'Y' THEN
714: pa_debug.g_err_stage:='Exiting Copy_Plan';
715: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
716: pa_debug.reset_err_stack;
717: END IF;
718: EXCEPTION
719: WHEN resource_busy THEN
712:
713: IF P_PA_DEBUG_MODE = 'Y' THEN
714: pa_debug.g_err_stage:='Exiting Copy_Plan';
715: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,3);
716: pa_debug.reset_err_stack;
717: END IF;
718: EXCEPTION
719: WHEN resource_busy THEN
720: IF P_PA_DEBUG_MODE = 'Y' THEN
716: pa_debug.reset_err_stack;
717: END IF;
718: EXCEPTION
719: WHEN resource_busy THEN
720: IF P_PA_DEBUG_MODE = 'Y' THEN
721: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
722: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
723: END IF;
724:
717: END IF;
718: EXCEPTION
719: WHEN resource_busy THEN
720: IF P_PA_DEBUG_MODE = 'Y' THEN
721: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
722: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
723: END IF;
724:
725: l_msg_count := FND_MSG_PUB.count_msg;
718: EXCEPTION
719: WHEN resource_busy THEN
720: IF P_PA_DEBUG_MODE = 'Y' THEN
721: pa_debug.g_err_stage:='Can not acquire lock.. exiting copy plan';
722: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
723: END IF;
724:
725: l_msg_count := FND_MSG_PUB.count_msg;
726: IF l_msg_count = 1 THEN
738: END IF;
739:
740: ROLLBACK;
741: x_return_status:= FND_API.G_RET_STS_ERROR;
742: IF P_PA_DEBUG_MODE = 'Y' THEN
743: pa_debug.reset_err_stack;
744: END IF;
745: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
746: l_msg_count := FND_MSG_PUB.count_msg;
739:
740: ROLLBACK;
741: x_return_status:= FND_API.G_RET_STS_ERROR;
742: IF P_PA_DEBUG_MODE = 'Y' THEN
743: pa_debug.reset_err_stack;
744: END IF;
745: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
746: l_msg_count := FND_MSG_PUB.count_msg;
747: IF l_msg_count = 1 THEN
759: END IF;
760:
761: ROLLBACK;
762: x_return_status:= FND_API.G_RET_STS_ERROR;
763: IF P_PA_DEBUG_MODE = 'Y' THEN
764: pa_debug.reset_err_stack;
765: END IF;
766: WHEN Others THEN
767: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
760:
761: ROLLBACK;
762: x_return_status:= FND_API.G_RET_STS_ERROR;
763: IF P_PA_DEBUG_MODE = 'Y' THEN
764: pa_debug.reset_err_stack;
765: END IF;
766: WHEN Others THEN
767: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
768: x_msg_count := 1;
768: x_msg_count := 1;
769: x_msg_data := SQLERRM;
770: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
771: ,p_procedure_name => 'COPY_PLAN');
772: IF P_PA_DEBUG_MODE = 'Y' THEN
773: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
774: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
775: pa_debug.reset_err_stack;
776: END IF;
769: x_msg_data := SQLERRM;
770: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
771: ,p_procedure_name => 'COPY_PLAN');
772: IF P_PA_DEBUG_MODE = 'Y' THEN
773: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
774: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
775: pa_debug.reset_err_stack;
776: END IF;
777: ROLLBACK;
770: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
771: ,p_procedure_name => 'COPY_PLAN');
772: IF P_PA_DEBUG_MODE = 'Y' THEN
773: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
774: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
775: pa_debug.reset_err_stack;
776: END IF;
777: ROLLBACK;
778: RAISE;
771: ,p_procedure_name => 'COPY_PLAN');
772: IF P_PA_DEBUG_MODE = 'Y' THEN
773: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
774: pa_debug.write('Copy_Plan: ' || g_module_name,pa_debug.g_err_stage,5);
775: pa_debug.reset_err_stack;
776: END IF;
777: ROLLBACK;
778: RAISE;
779: END Copy_Plan;
832:
833: x_msg_count := 0;
834: x_return_status := FND_API.G_RET_STS_SUCCESS;
835:
836: IF P_PA_DEBUG_MODE = 'Y' THEN
837: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Acquire_Lock_For_Copy_Actual');
838: END IF;
839: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
840: l_debug_mode := NVL(l_debug_mode, 'Y');
833: x_msg_count := 0;
834: x_return_status := FND_API.G_RET_STS_SUCCESS;
835:
836: IF P_PA_DEBUG_MODE = 'Y' THEN
837: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Acquire_Lock_For_Copy_Actual');
838: END IF;
839: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
840: l_debug_mode := NVL(l_debug_mode, 'Y');
841:
835:
836: IF P_PA_DEBUG_MODE = 'Y' THEN
837: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Acquire_Lock_For_Copy_Actual');
838: END IF;
839: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
840: l_debug_mode := NVL(l_debug_mode, 'Y');
841:
842: /*
843: * Acquire lock on pa_proj_fp_options and pa_budget_versions so that
844: * no other process would be able to modify these tables and all
845: * underlying child tables
846: */
847:
848: IF P_PA_DEBUG_MODE = 'Y' THEN
849: pa_debug.g_err_stage:='Acquiring lock on pa_proj_fp_options';
850: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
851: END IF;
852:
845: * underlying child tables
846: */
847:
848: IF P_PA_DEBUG_MODE = 'Y' THEN
849: pa_debug.g_err_stage:='Acquiring lock on pa_proj_fp_options';
850: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
851: END IF;
852:
853: OPEN fp_opt_cur;
846: */
847:
848: IF P_PA_DEBUG_MODE = 'Y' THEN
849: pa_debug.g_err_stage:='Acquiring lock on pa_proj_fp_options';
850: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
851: END IF;
852:
853: OPEN fp_opt_cur;
854:
851: END IF;
852:
853: OPEN fp_opt_cur;
854:
855: IF P_PA_DEBUG_MODE = 'Y' THEN
856: pa_debug.g_err_stage:='Acquiring lock on pa_budget_versions';
857: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
858: END IF;
859:
852:
853: OPEN fp_opt_cur;
854:
855: IF P_PA_DEBUG_MODE = 'Y' THEN
856: pa_debug.g_err_stage:='Acquiring lock on pa_budget_versions';
857: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
858: END IF;
859:
860: OPEN bdgt_ver_cur;
853: OPEN fp_opt_cur;
854:
855: IF P_PA_DEBUG_MODE = 'Y' THEN
856: pa_debug.g_err_stage:='Acquiring lock on pa_budget_versions';
857: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
858: END IF;
859:
860: OPEN bdgt_ver_cur;
861:
861:
862: --Increment the record_version_number in pa_budget_versions and
863: --pa_proj_fp_options
864:
865: IF P_PA_DEBUG_MODE = 'Y' THEN
866: pa_debug.g_err_stage:='Incrementing record version number of plan version pa_proj_fp_options';
867: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
868: END IF;
869:
862: --Increment the record_version_number in pa_budget_versions and
863: --pa_proj_fp_options
864:
865: IF P_PA_DEBUG_MODE = 'Y' THEN
866: pa_debug.g_err_stage:='Incrementing record version number of plan version pa_proj_fp_options';
867: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
868: END IF;
869:
870: UPDATE PA_PROJ_FP_OPTIONS
863: --pa_proj_fp_options
864:
865: IF P_PA_DEBUG_MODE = 'Y' THEN
866: pa_debug.g_err_stage:='Incrementing record version number of plan version pa_proj_fp_options';
867: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
868: END IF;
869:
870: UPDATE PA_PROJ_FP_OPTIONS
871: SET record_version_number = record_version_number+1
870: UPDATE PA_PROJ_FP_OPTIONS
871: SET record_version_number = record_version_number+1
872: WHERE fin_plan_version_id=p_plan_version_id;
873:
874: IF P_PA_DEBUG_MODE = 'Y' THEN
875: pa_debug.g_err_stage:='Incrementing record version number of plan version in pa_budget_versions';
876: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
877: END IF;
878:
871: SET record_version_number = record_version_number+1
872: WHERE fin_plan_version_id=p_plan_version_id;
873:
874: IF P_PA_DEBUG_MODE = 'Y' THEN
875: pa_debug.g_err_stage:='Incrementing record version number of plan version in pa_budget_versions';
876: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
877: END IF;
878:
879: UPDATE PA_BUDGET_VERSIONS
872: WHERE fin_plan_version_id=p_plan_version_id;
873:
874: IF P_PA_DEBUG_MODE = 'Y' THEN
875: pa_debug.g_err_stage:='Incrementing record version number of plan version in pa_budget_versions';
876: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
877: END IF;
878:
879: UPDATE PA_BUDGET_VERSIONS
880: SET record_version_number = record_version_number+1
879: UPDATE PA_BUDGET_VERSIONS
880: SET record_version_number = record_version_number+1
881: WHERE budget_version_id = p_plan_version_id ;
882:
883: IF P_PA_DEBUG_MODE = 'Y' THEN
884: pa_debug.g_err_stage:='Closing fp_opt_cur and bdgt_ver_cur cursors';
885: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
886: END IF;
887:
880: SET record_version_number = record_version_number+1
881: WHERE budget_version_id = p_plan_version_id ;
882:
883: IF P_PA_DEBUG_MODE = 'Y' THEN
884: pa_debug.g_err_stage:='Closing fp_opt_cur and bdgt_ver_cur cursors';
885: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
886: END IF;
887:
888: CLOSE fp_opt_cur;
881: WHERE budget_version_id = p_plan_version_id ;
882:
883: IF P_PA_DEBUG_MODE = 'Y' THEN
884: pa_debug.g_err_stage:='Closing fp_opt_cur and bdgt_ver_cur cursors';
885: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,3);
886: END IF;
887:
888: CLOSE fp_opt_cur;
889: CLOSE bdgt_ver_cur;
886: END IF;
887:
888: CLOSE fp_opt_cur;
889: CLOSE bdgt_ver_cur;
890: IF P_PA_DEBUG_MODE = 'Y' THEN
891: pa_debug.reset_err_stack;
892: END IF;
893: EXCEPTION
894:
887:
888: CLOSE fp_opt_cur;
889: CLOSE bdgt_ver_cur;
890: IF P_PA_DEBUG_MODE = 'Y' THEN
891: pa_debug.reset_err_stack;
892: END IF;
893: EXCEPTION
894:
895: WHEN Resource_Busy THEN
903: IF bdgt_ver_cur%ISOPEN THEN
904: CLOSE bdgt_ver_cur;
905: END IF;
906:
907: IF P_PA_DEBUG_MODE = 'Y' THEN
908: pa_debug.g_err_stage:='Unable to acquire lock';
909: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,5);
910: END IF;
911:
904: CLOSE bdgt_ver_cur;
905: END IF;
906:
907: IF P_PA_DEBUG_MODE = 'Y' THEN
908: pa_debug.g_err_stage:='Unable to acquire lock';
909: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,5);
910: END IF;
911:
912: x_return_status := FND_API.G_RET_STS_ERROR;
905: END IF;
906:
907: IF P_PA_DEBUG_MODE = 'Y' THEN
908: pa_debug.g_err_stage:='Unable to acquire lock';
909: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,5);
910: END IF;
911:
912: x_return_status := FND_API.G_RET_STS_ERROR;
913: l_msg_count := FND_MSG_PUB.count_msg;
923: x_msg_count := l_msg_count;
924: ELSE
925: x_msg_count := l_msg_count;
926: END IF;
927: IF P_PA_DEBUG_MODE = 'Y' THEN
928: pa_debug.reset_err_stack;
929: END IF;
930: RAISE;
931:
924: ELSE
925: x_msg_count := l_msg_count;
926: END IF;
927: IF P_PA_DEBUG_MODE = 'Y' THEN
928: pa_debug.reset_err_stack;
929: END IF;
930: RAISE;
931:
932: WHEN Others THEN
935: x_msg_data := SQLERRM;
936: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
937: ,p_procedure_name => 'ACQUIRE_LOCKS_FOR_COPY_ACTUAL');
938:
939: IF P_PA_DEBUG_MODE = 'Y' THEN
940: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
941: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,5);
942: pa_debug.reset_err_stack;
943: END IF;
936: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
937: ,p_procedure_name => 'ACQUIRE_LOCKS_FOR_COPY_ACTUAL');
938:
939: IF P_PA_DEBUG_MODE = 'Y' THEN
940: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
941: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,5);
942: pa_debug.reset_err_stack;
943: END IF;
944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
937: ,p_procedure_name => 'ACQUIRE_LOCKS_FOR_COPY_ACTUAL');
938:
939: IF P_PA_DEBUG_MODE = 'Y' THEN
940: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
941: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,5);
942: pa_debug.reset_err_stack;
943: END IF;
944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
945:
938:
939: IF P_PA_DEBUG_MODE = 'Y' THEN
940: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
941: pa_debug.write('Acquire_Locks_For_Copy_Actual: ' || g_module_name,pa_debug.g_err_stage,5);
942: pa_debug.reset_err_stack;
943: END IF;
944: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
945:
946: END Acquire_Locks_For_Copy_Actual;
1144: BEGIN
1145:
1146: x_msg_count := 0;
1147: x_return_status := FND_API.G_RET_STS_SUCCESS;
1148: IF p_pa_debug_mode = 'Y' THEN
1149: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Version');
1150: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
1151: l_debug_mode := NVL(l_debug_mode, 'Y');
1152: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
1145:
1146: x_msg_count := 0;
1147: x_return_status := FND_API.G_RET_STS_SUCCESS;
1148: IF p_pa_debug_mode = 'Y' THEN
1149: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Version');
1150: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
1151: l_debug_mode := NVL(l_debug_mode, 'Y');
1152: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
1153: END IF;
1146: x_msg_count := 0;
1147: x_return_status := FND_API.G_RET_STS_SUCCESS;
1148: IF p_pa_debug_mode = 'Y' THEN
1149: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Version');
1150: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
1151: l_debug_mode := NVL(l_debug_mode, 'Y');
1152: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
1153: END IF;
1154:
1148: IF p_pa_debug_mode = 'Y' THEN
1149: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Version');
1150: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
1151: l_debug_mode := NVL(l_debug_mode, 'Y');
1152: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
1153: END IF;
1154:
1155: --Check if source_verion_id is NULL, if so throw an error message
1156:
1153: END IF;
1154:
1155: --Check if source_verion_id is NULL, if so throw an error message
1156:
1157: IF P_PA_DEBUG_MODE = 'Y' THEN
1158: pa_debug.g_err_stage := 'Parameter Validation';
1159: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1160: END IF;
1161:
1154:
1155: --Check if source_verion_id is NULL, if so throw an error message
1156:
1157: IF P_PA_DEBUG_MODE = 'Y' THEN
1158: pa_debug.g_err_stage := 'Parameter Validation';
1159: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1160: END IF;
1161:
1162: IF (p_source_version_id IS NULL) OR
1155: --Check if source_verion_id is NULL, if so throw an error message
1156:
1157: IF P_PA_DEBUG_MODE = 'Y' THEN
1158: pa_debug.g_err_stage := 'Parameter Validation';
1159: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1160: END IF;
1161:
1162: IF (p_source_version_id IS NULL) OR
1163: (p_calling_module IS NULL)
1161:
1162: IF (p_source_version_id IS NULL) OR
1163: (p_calling_module IS NULL)
1164: THEN
1165: IF P_PA_DEBUG_MODE = 'Y' THEN
1166: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1167: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1168: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1169: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1162: IF (p_source_version_id IS NULL) OR
1163: (p_calling_module IS NULL)
1164: THEN
1165: IF P_PA_DEBUG_MODE = 'Y' THEN
1166: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1167: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1168: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1169: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1170: END IF;
1163: (p_calling_module IS NULL)
1164: THEN
1165: IF P_PA_DEBUG_MODE = 'Y' THEN
1166: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1167: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1168: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1169: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1170: END IF;
1171:
1164: THEN
1165: IF P_PA_DEBUG_MODE = 'Y' THEN
1166: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1167: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1168: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1169: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1170: END IF;
1171:
1172: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
1165: IF P_PA_DEBUG_MODE = 'Y' THEN
1166: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1167: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1168: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1169: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1170: END IF;
1171:
1172: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
1173: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
1179: --Throw an error if the struct element version id is not passed in workplan context
1180: IF p_calling_module=PA_FP_CONSTANTS_PKG.G_CALLING_MODULE_WORKPLAN AND
1181: p_struct_elem_version_id IS NULL THEN
1182:
1183: IF P_PA_DEBUG_MODE = 'Y' THEN
1184: pa_debug.g_err_stage := 'In workplan context p_struct_elem_version_id passed is '||p_struct_elem_version_id;
1185: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1186: END IF;
1187: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
1180: IF p_calling_module=PA_FP_CONSTANTS_PKG.G_CALLING_MODULE_WORKPLAN AND
1181: p_struct_elem_version_id IS NULL THEN
1182:
1183: IF P_PA_DEBUG_MODE = 'Y' THEN
1184: pa_debug.g_err_stage := 'In workplan context p_struct_elem_version_id passed is '||p_struct_elem_version_id;
1185: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1186: END IF;
1187: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
1188: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
1181: p_struct_elem_version_id IS NULL THEN
1182:
1183: IF P_PA_DEBUG_MODE = 'Y' THEN
1184: pa_debug.g_err_stage := 'In workplan context p_struct_elem_version_id passed is '||p_struct_elem_version_id;
1185: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1186: END IF;
1187: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
1188: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
1189:
1189:
1190: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1191: END IF;
1192:
1193: IF P_PA_DEBUG_MODE = 'Y' THEN
1194: pa_debug.g_err_stage := 'Parameter validation complete';
1195: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1196: END IF;
1197:
1190: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1191: END IF;
1192:
1193: IF P_PA_DEBUG_MODE = 'Y' THEN
1194: pa_debug.g_err_stage := 'Parameter validation complete';
1195: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1196: END IF;
1197:
1198: IF p_calling_module = PA_FP_CONSTANTS_PKG.G_CALLING_MODULE_WORKPLAN THEN
1191: END IF;
1192:
1193: IF P_PA_DEBUG_MODE = 'Y' THEN
1194: pa_debug.g_err_stage := 'Parameter validation complete';
1195: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1196: END IF;
1197:
1198: IF p_calling_module = PA_FP_CONSTANTS_PKG.G_CALLING_MODULE_WORKPLAN THEN
1199: -- Bug 4337221:
1203:
1204: l_adj_percentage := NVL(p_adj_percentage,0);
1205: END IF;
1206:
1207: IF p_pa_debug_mode = 'Y' THEN
1208: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1209: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1210: pa_debug.g_err_stage := 'Target_plan='||px_target_version_id;
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1204: l_adj_percentage := NVL(p_adj_percentage,0);
1205: END IF;
1206:
1207: IF p_pa_debug_mode = 'Y' THEN
1208: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1209: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1210: pa_debug.g_err_stage := 'Target_plan='||px_target_version_id;
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1212: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1205: END IF;
1206:
1207: IF p_pa_debug_mode = 'Y' THEN
1208: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1209: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1210: pa_debug.g_err_stage := 'Target_plan='||px_target_version_id;
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1212: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1213: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1206:
1207: IF p_pa_debug_mode = 'Y' THEN
1208: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1209: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1210: pa_debug.g_err_stage := 'Target_plan='||px_target_version_id;
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1212: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1213: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1214: pa_debug.g_err_stage := 'Adj_percentage='||l_adj_percentage;
1207: IF p_pa_debug_mode = 'Y' THEN
1208: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1209: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1210: pa_debug.g_err_stage := 'Target_plan='||px_target_version_id;
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1212: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1213: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1214: pa_debug.g_err_stage := 'Adj_percentage='||l_adj_percentage;
1215: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1208: pa_debug.g_err_stage := 'Source_plan='||p_source_version_id;
1209: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1210: pa_debug.g_err_stage := 'Target_plan='||px_target_version_id;
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1212: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1213: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1214: pa_debug.g_err_stage := 'Adj_percentage='||l_adj_percentage;
1215: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1216: END IF;
1209: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1210: pa_debug.g_err_stage := 'Target_plan='||px_target_version_id;
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1212: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1213: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1214: pa_debug.g_err_stage := 'Adj_percentage='||l_adj_percentage;
1215: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1216: END IF;
1217:
1210: pa_debug.g_err_stage := 'Target_plan='||px_target_version_id;
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1212: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1213: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1214: pa_debug.g_err_stage := 'Adj_percentage='||l_adj_percentage;
1215: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1216: END IF;
1217:
1218: -- Get the fin plan type id, source version name, project id from
1211: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1212: pa_debug.g_err_stage := 'Calling_module='||p_calling_module;
1213: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1214: pa_debug.g_err_stage := 'Adj_percentage='||l_adj_percentage;
1215: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1216: END IF;
1217:
1218: -- Get the fin plan type id, source version name, project id from
1219: -- pa_budget_versions using source_version_id
1219: -- pa_budget_versions using source_version_id
1220:
1221: IF px_target_version_id IS NULL THEN
1222:
1223: IF P_PA_DEBUG_MODE = 'Y' THEN
1224: pa_debug.g_err_stage := 'Fetching version name,fin_plan_type_id of source version';
1225: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1226: END IF;
1227:
1220:
1221: IF px_target_version_id IS NULL THEN
1222:
1223: IF P_PA_DEBUG_MODE = 'Y' THEN
1224: pa_debug.g_err_stage := 'Fetching version name,fin_plan_type_id of source version';
1225: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1226: END IF;
1227:
1228: SELECT NVL(p_target_project_id,project_id)
1221: IF px_target_version_id IS NULL THEN
1222:
1223: IF P_PA_DEBUG_MODE = 'Y' THEN
1224: pa_debug.g_err_stage := 'Fetching version name,fin_plan_type_id of source version';
1225: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1226: END IF;
1227:
1228: SELECT NVL(p_target_project_id,project_id)
1229: ,NVL(p_source_project_id,project_id)
1285: END IF;
1286:
1287: --Get the version_number, version_name
1288:
1289: IF P_PA_DEBUG_MODE = 'Y' THEN
1290: pa_debug.g_err_stage := 'Fetch the maximum version number';
1291: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1292: END IF;
1293:
1286:
1287: --Get the version_number, version_name
1288:
1289: IF P_PA_DEBUG_MODE = 'Y' THEN
1290: pa_debug.g_err_stage := 'Fetch the maximum version number';
1291: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1292: END IF;
1293:
1294: IF p_copy_mode = PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING THEN
1287: --Get the version_number, version_name
1288:
1289: IF P_PA_DEBUG_MODE = 'Y' THEN
1290: pa_debug.g_err_stage := 'Fetch the maximum version number';
1291: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1292: END IF;
1293:
1294: IF p_copy_mode = PA_FP_CONSTANTS_PKG.G_BUDGET_STATUS_WORKING THEN
1295:
1393: END IF;
1394:
1395: -- Fetch new budget_version_id
1396:
1397: IF P_PA_DEBUG_MODE = 'Y' THEN
1398: pa_debug.g_err_stage := 'Fetch new budget version id';
1399: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1400: END IF;
1401:
1394:
1395: -- Fetch new budget_version_id
1396:
1397: IF P_PA_DEBUG_MODE = 'Y' THEN
1398: pa_debug.g_err_stage := 'Fetch new budget version id';
1399: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1400: END IF;
1401:
1402: SELECT pa_budget_versions_s.NEXTVAL
1395: -- Fetch new budget_version_id
1396:
1397: IF P_PA_DEBUG_MODE = 'Y' THEN
1398: pa_debug.g_err_stage := 'Fetch new budget version id';
1399: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1400: END IF;
1401:
1402: SELECT pa_budget_versions_s.NEXTVAL
1403: INTO px_target_version_id
1431: Where project_structure_version_id = l_wbs_struct_version_id
1432: And wp_version_flag = 'Y'
1433: And exists (select 'x' from pa_budget_versions b where b.budget_version_id = p_source_version_id and b.wp_version_flag = 'Y') ;
1434:
1435: IF P_PA_DEBUG_MODE = 'Y' THEN
1436: pa_debug.g_err_stage:='proj sv id = ' || l_wbs_struct_version_id;
1437: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1438: pa_debug.g_err_stage:='calling module = ' || p_calling_module;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1432: And wp_version_flag = 'Y'
1433: And exists (select 'x' from pa_budget_versions b where b.budget_version_id = p_source_version_id and b.wp_version_flag = 'Y') ;
1434:
1435: IF P_PA_DEBUG_MODE = 'Y' THEN
1436: pa_debug.g_err_stage:='proj sv id = ' || l_wbs_struct_version_id;
1437: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1438: pa_debug.g_err_stage:='calling module = ' || p_calling_module;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1433: And exists (select 'x' from pa_budget_versions b where b.budget_version_id = p_source_version_id and b.wp_version_flag = 'Y') ;
1434:
1435: IF P_PA_DEBUG_MODE = 'Y' THEN
1436: pa_debug.g_err_stage:='proj sv id = ' || l_wbs_struct_version_id;
1437: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1438: pa_debug.g_err_stage:='calling module = ' || p_calling_module;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1434:
1435: IF P_PA_DEBUG_MODE = 'Y' THEN
1436: pa_debug.g_err_stage:='proj sv id = ' || l_wbs_struct_version_id;
1437: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1438: pa_debug.g_err_stage:='calling module = ' || p_calling_module;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1442: pa_debug.g_err_stage:='source version id = ' || p_source_version_id;
1435: IF P_PA_DEBUG_MODE = 'Y' THEN
1436: pa_debug.g_err_stage:='proj sv id = ' || l_wbs_struct_version_id;
1437: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1438: pa_debug.g_err_stage:='calling module = ' || p_calling_module;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1442: pa_debug.g_err_stage:='source version id = ' || p_source_version_id;
1443: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1436: pa_debug.g_err_stage:='proj sv id = ' || l_wbs_struct_version_id;
1437: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1438: pa_debug.g_err_stage:='calling module = ' || p_calling_module;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1442: pa_debug.g_err_stage:='source version id = ' || p_source_version_id;
1443: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1444: pa_debug.g_err_stage:='source project id / target project id = ' || l_source_project_id || ' / ' || l_target_project_id;
1437: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1438: pa_debug.g_err_stage:='calling module = ' || p_calling_module;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1442: pa_debug.g_err_stage:='source version id = ' || p_source_version_id;
1443: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1444: pa_debug.g_err_stage:='source project id / target project id = ' || l_source_project_id || ' / ' || l_target_project_id;
1445: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1438: pa_debug.g_err_stage:='calling module = ' || p_calling_module;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1442: pa_debug.g_err_stage:='source version id = ' || p_source_version_id;
1443: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1444: pa_debug.g_err_stage:='source project id / target project id = ' || l_source_project_id || ' / ' || l_target_project_id;
1445: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1446: END IF;
1439: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1442: pa_debug.g_err_stage:='source version id = ' || p_source_version_id;
1443: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1444: pa_debug.g_err_stage:='source project id / target project id = ' || l_source_project_id || ' / ' || l_target_project_id;
1445: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1446: END IF;
1447: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1440: pa_debug.g_err_stage:='copy mode = ' || p_copy_mode;
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1442: pa_debug.g_err_stage:='source version id = ' || p_source_version_id;
1443: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1444: pa_debug.g_err_stage:='source project id / target project id = ' || l_source_project_id || ' / ' || l_target_project_id;
1445: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1446: END IF;
1447: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1448: p_msg_name => 'DUPLICATE_WP_BEING_CREATED');
1441: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1442: pa_debug.g_err_stage:='source version id = ' || p_source_version_id;
1443: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1444: pa_debug.g_err_stage:='source project id / target project id = ' || l_source_project_id || ' / ' || l_target_project_id;
1445: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1446: END IF;
1447: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1448: p_msg_name => 'DUPLICATE_WP_BEING_CREATED');
1449: IF P_PA_DEBUG_MODE = 'Y' THEN
1445: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1446: END IF;
1447: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1448: p_msg_name => 'DUPLICATE_WP_BEING_CREATED');
1449: IF P_PA_DEBUG_MODE = 'Y' THEN
1450: pa_debug.g_err_stage:='Invalid Arguments Passed';
1451: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1452: END IF;
1453: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1446: END IF;
1447: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1448: p_msg_name => 'DUPLICATE_WP_BEING_CREATED');
1449: IF P_PA_DEBUG_MODE = 'Y' THEN
1450: pa_debug.g_err_stage:='Invalid Arguments Passed';
1451: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1452: END IF;
1453: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1454: Exception
1447: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1448: p_msg_name => 'DUPLICATE_WP_BEING_CREATED');
1449: IF P_PA_DEBUG_MODE = 'Y' THEN
1450: pa_debug.g_err_stage:='Invalid Arguments Passed';
1451: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1452: END IF;
1453: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
1454: Exception
1455: When No_Data_Found Then
1671: --To decide what amounts are to be copied from source to target
1672: --version set local flags using target fin plan preference code
1673:
1674:
1675: IF P_PA_DEBUG_MODE = 'Y' THEN
1676: pa_debug.g_err_stage := 'Get values into local flags';
1677: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1678: END IF;
1679:
1672: --version set local flags using target fin plan preference code
1673:
1674:
1675: IF P_PA_DEBUG_MODE = 'Y' THEN
1676: pa_debug.g_err_stage := 'Get values into local flags';
1677: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1678: END IF;
1679:
1680:
1673:
1674:
1675: IF P_PA_DEBUG_MODE = 'Y' THEN
1676: pa_debug.g_err_stage := 'Get values into local flags';
1677: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1678: END IF;
1679:
1680:
1681: /* UT Fix : decoded G_PREF_COST_AND_REV_SAME as Y for revenue_flag */
1704:
1705: --Update target version using source version values
1706:
1707:
1708: IF P_PA_DEBUG_MODE = 'Y' THEN
1709: pa_debug.g_err_stage := 'Updating target version';
1710: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1711: END IF;
1712:
1705: --Update target version using source version values
1706:
1707:
1708: IF P_PA_DEBUG_MODE = 'Y' THEN
1709: pa_debug.g_err_stage := 'Updating target version';
1710: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1711: END IF;
1712:
1713: OPEN l_bv_csr;
1706:
1707:
1708: IF P_PA_DEBUG_MODE = 'Y' THEN
1709: pa_debug.g_err_stage := 'Updating target version';
1710: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1711: END IF;
1712:
1713: OPEN l_bv_csr;
1714:
1712:
1713: OPEN l_bv_csr;
1714:
1715:
1716: IF P_PA_DEBUG_MODE = 'Y' THEN
1717: pa_debug.g_err_stage := 'l_bv_csr is opened';
1718: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1719: END IF;
1720:
1713: OPEN l_bv_csr;
1714:
1715:
1716: IF P_PA_DEBUG_MODE = 'Y' THEN
1717: pa_debug.g_err_stage := 'l_bv_csr is opened';
1718: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1719: END IF;
1720:
1721: FETCH l_bv_csr INTO l_bv_rec;
1714:
1715:
1716: IF P_PA_DEBUG_MODE = 'Y' THEN
1717: pa_debug.g_err_stage := 'l_bv_csr is opened';
1718: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1719: END IF;
1720:
1721: FETCH l_bv_csr INTO l_bv_rec;
1722:
1802:
1803: CLOSE l_bv_csr;
1804:
1805:
1806: IF P_PA_DEBUG_MODE = 'Y' THEN
1807: pa_debug.g_err_stage := 'l_bv_csr is closed';
1808: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1809: END IF;
1810:
1803: CLOSE l_bv_csr;
1804:
1805:
1806: IF P_PA_DEBUG_MODE = 'Y' THEN
1807: pa_debug.g_err_stage := 'l_bv_csr is closed';
1808: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1809: END IF;
1810:
1811: END IF; -- p_calling_module
1804:
1805:
1806: IF P_PA_DEBUG_MODE = 'Y' THEN
1807: pa_debug.g_err_stage := 'l_bv_csr is closed';
1808: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1809: END IF;
1810:
1811: END IF; -- p_calling_module
1812:
1822: X_last_update_login => FND_GLOBAL.LOGIN_ID,
1823: X_program_application_id => FND_GLOBAL.PROG_APPL_ID);
1824:
1825:
1826: IF P_PA_DEBUG_MODE = 'Y' THEN
1827: pa_debug.g_err_stage := 'Exiting copy_budget_version';
1828: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1829: pa_debug.reset_err_stack;
1830: END IF;
1823: X_program_application_id => FND_GLOBAL.PROG_APPL_ID);
1824:
1825:
1826: IF P_PA_DEBUG_MODE = 'Y' THEN
1827: pa_debug.g_err_stage := 'Exiting copy_budget_version';
1828: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1829: pa_debug.reset_err_stack;
1830: END IF;
1831:
1824:
1825:
1826: IF P_PA_DEBUG_MODE = 'Y' THEN
1827: pa_debug.g_err_stage := 'Exiting copy_budget_version';
1828: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1829: pa_debug.reset_err_stack;
1830: END IF;
1831:
1832: EXCEPTION
1825:
1826: IF P_PA_DEBUG_MODE = 'Y' THEN
1827: pa_debug.g_err_stage := 'Exiting copy_budget_version';
1828: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
1829: pa_debug.reset_err_stack;
1830: END IF;
1831:
1832: EXCEPTION
1833:
1847: x_msg_count := l_msg_count;
1848: END IF;
1849: x_return_status := FND_API.G_RET_STS_ERROR;
1850:
1851: IF P_PA_DEBUG_MODE = 'Y' THEN
1852: pa_debug.g_err_stage:='Invalid Arguments Passed';
1853: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1854: pa_debug.reset_err_stack;
1855: END IF;
1848: END IF;
1849: x_return_status := FND_API.G_RET_STS_ERROR;
1850:
1851: IF P_PA_DEBUG_MODE = 'Y' THEN
1852: pa_debug.g_err_stage:='Invalid Arguments Passed';
1853: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1854: pa_debug.reset_err_stack;
1855: END IF;
1856: RAISE;
1849: x_return_status := FND_API.G_RET_STS_ERROR;
1850:
1851: IF P_PA_DEBUG_MODE = 'Y' THEN
1852: pa_debug.g_err_stage:='Invalid Arguments Passed';
1853: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1854: pa_debug.reset_err_stack;
1855: END IF;
1856: RAISE;
1857:
1850:
1851: IF P_PA_DEBUG_MODE = 'Y' THEN
1852: pa_debug.g_err_stage:='Invalid Arguments Passed';
1853: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1854: pa_debug.reset_err_stack;
1855: END IF;
1856: RAISE;
1857:
1858: WHEN Others THEN
1861: x_msg_data := SQLERRM;
1862: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FP_COPY_FROM_PKG'
1863: ,p_procedure_name => 'COPY_BUDGET_VERSION');
1864:
1865: IF P_PA_DEBUG_MODE = 'Y' THEN
1866: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
1867: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1868: pa_debug.reset_err_stack;
1869: END IF;
1862: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FP_COPY_FROM_PKG'
1863: ,p_procedure_name => 'COPY_BUDGET_VERSION');
1864:
1865: IF P_PA_DEBUG_MODE = 'Y' THEN
1866: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
1867: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1868: pa_debug.reset_err_stack;
1869: END IF;
1870:
1863: ,p_procedure_name => 'COPY_BUDGET_VERSION');
1864:
1865: IF P_PA_DEBUG_MODE = 'Y' THEN
1866: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
1867: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1868: pa_debug.reset_err_stack;
1869: END IF;
1870:
1871: RAISE;
1864:
1865: IF P_PA_DEBUG_MODE = 'Y' THEN
1866: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
1867: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
1868: pa_debug.reset_err_stack;
1869: END IF;
1870:
1871: RAISE;
1872:
1943:
1944: x_msg_count := 0;
1945: x_return_status := FND_API.G_RET_STS_SUCCESS;
1946:
1947: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
1948: l_debug_mode := NVL(l_debug_mode, 'Y');
1949:
1950: -- Set curr function
1951: IF l_debug_mode = 'Y' THEN
1948: l_debug_mode := NVL(l_debug_mode, 'Y');
1949:
1950: -- Set curr function
1951: IF l_debug_mode = 'Y' THEN
1952: pa_debug.set_curr_function(
1953: p_function =>'pa_fp_copy_from_pkg.create_res_task_maps'
1954: ,p_debug_mode => l_debug_mode );
1955:
1956: -- Check for business rules violations
1953: p_function =>'pa_fp_copy_from_pkg.create_res_task_maps'
1954: ,p_debug_mode => l_debug_mode );
1955:
1956: -- Check for business rules violations
1957: pa_debug.g_err_stage:='Validating input parameters';
1958: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
1959: END IF;
1960:
1961: IF p_context IS NULL THEN
1954: ,p_debug_mode => l_debug_mode );
1955:
1956: -- Check for business rules violations
1957: pa_debug.g_err_stage:='Validating input parameters';
1958: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
1959: END IF;
1960:
1961: IF p_context IS NULL THEN
1962:
1960:
1961: IF p_context IS NULL THEN
1962:
1963: IF l_debug_mode = 'Y' THEN
1964: pa_debug.g_err_stage:='p_context is '||p_context;
1965: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
1966: END IF;
1967:
1968: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1961: IF p_context IS NULL THEN
1962:
1963: IF l_debug_mode = 'Y' THEN
1964: pa_debug.g_err_stage:='p_context is '||p_context;
1965: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
1966: END IF;
1967:
1968: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1969: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
1975: --If the no of elements in source and target element version id tbls are not same, throw error
1976: IF p_src_elem_ver_id_tbl.count <> p_targ_elem_ver_id_tbl.count THEN
1977:
1978: IF l_debug_mode = 'Y' THEN
1979: pa_debug.g_err_stage:='The count in source elem ver id tbl and targ elem ver id tbl is not equal';
1980: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
1981: END IF;
1982: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1983: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
1976: IF p_src_elem_ver_id_tbl.count <> p_targ_elem_ver_id_tbl.count THEN
1977:
1978: IF l_debug_mode = 'Y' THEN
1979: pa_debug.g_err_stage:='The count in source elem ver id tbl and targ elem ver id tbl is not equal';
1980: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
1981: END IF;
1982: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
1983: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
1984:
1994: p_schedule_start_date_tbl.count <> p_src_ra_id_tbl.count) OR
1995: p_schedule_start_date_tbl.count <> p_schedule_end_date_tbl.count THEN
1996:
1997: IF l_debug_mode = 'Y' THEN
1998: pa_debug.g_err_stage:='The count in source ra id tbl and targ proj assmt is not equal';
1999: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2000: END IF;
2001: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
2002: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
1995: p_schedule_start_date_tbl.count <> p_schedule_end_date_tbl.count THEN
1996:
1997: IF l_debug_mode = 'Y' THEN
1998: pa_debug.g_err_stage:='The count in source ra id tbl and targ proj assmt is not equal';
1999: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2000: END IF;
2001: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
2002: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
2003:
2006:
2007: IF p_src_ra_id_tbl.count=0 THEN
2008:
2009: IF l_debug_mode = 'Y' THEN
2010: pa_debug.g_err_stage:='The source resource assignment id table is emtpy. Returning';
2011: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2012: pa_debug.reset_curr_function;
2013: END IF;
2014: RETURN;
2007: IF p_src_ra_id_tbl.count=0 THEN
2008:
2009: IF l_debug_mode = 'Y' THEN
2010: pa_debug.g_err_stage:='The source resource assignment id table is emtpy. Returning';
2011: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2012: pa_debug.reset_curr_function;
2013: END IF;
2014: RETURN;
2015: END IF;
2008:
2009: IF l_debug_mode = 'Y' THEN
2010: pa_debug.g_err_stage:='The source resource assignment id table is emtpy. Returning';
2011: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2012: pa_debug.reset_curr_function;
2013: END IF;
2014: RETURN;
2015: END IF;
2016:
2022: l_schedule_end_date_tbl := p_schedule_end_date_tbl;
2023: END IF;
2024:
2025: IF l_debug_mode = 'Y' THEN
2026: pa_debug.g_err_stage:='About to create the mapping between source and target element version ids';
2027: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2028: END IF;
2029:
2030: DELETE FROM pa_fp_ra_map_tmp;
2023: END IF;
2024:
2025: IF l_debug_mode = 'Y' THEN
2026: pa_debug.g_err_stage:='About to create the mapping between source and target element version ids';
2027: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2028: END IF;
2029:
2030: DELETE FROM pa_fp_ra_map_tmp;
2031:
2074:
2075: END IF;--IF NVL(p_context,'-99')<>'BUDGET' THEN
2076:
2077: IF l_debug_mode = 'Y' THEN
2078: pa_debug.g_err_stage:='About to bulk insert into pa_fp_ra_map_tmp';
2079: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2080: END IF;
2081:
2082: --Bulk insert into the pa_fp_ra_map_tmp table
2075: END IF;--IF NVL(p_context,'-99')<>'BUDGET' THEN
2076:
2077: IF l_debug_mode = 'Y' THEN
2078: pa_debug.g_err_stage:='About to bulk insert into pa_fp_ra_map_tmp';
2079: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2080: END IF;
2081:
2082: --Bulk insert into the pa_fp_ra_map_tmp table
2083:
2151: AND pelm.element_version_id=l_targ_elem_ver_id_tbl(i);
2152: END IF; -- p_context
2153:
2154: IF l_debug_mode = 'Y' THEN
2155: pa_debug.g_err_stage:='Exiting create_res_task_maps';
2156: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2157: pa_debug.reset_curr_function;
2158: END IF;
2159: EXCEPTION
2152: END IF; -- p_context
2153:
2154: IF l_debug_mode = 'Y' THEN
2155: pa_debug.g_err_stage:='Exiting create_res_task_maps';
2156: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2157: pa_debug.reset_curr_function;
2158: END IF;
2159: EXCEPTION
2160:
2153:
2154: IF l_debug_mode = 'Y' THEN
2155: pa_debug.g_err_stage:='Exiting create_res_task_maps';
2156: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
2157: pa_debug.reset_curr_function;
2158: END IF;
2159: EXCEPTION
2160:
2161: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
2177:
2178: x_return_status := FND_API.G_RET_STS_ERROR;
2179:
2180: IF l_debug_mode = 'Y' THEN
2181: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
2182: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
2183: -- reset curr function
2184: pa_debug.reset_curr_function();
2185: END IF;
2178: x_return_status := FND_API.G_RET_STS_ERROR;
2179:
2180: IF l_debug_mode = 'Y' THEN
2181: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
2182: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
2183: -- reset curr function
2184: pa_debug.reset_curr_function();
2185: END IF;
2186: RETURN;
2180: IF l_debug_mode = 'Y' THEN
2181: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
2182: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
2183: -- reset curr function
2184: pa_debug.reset_curr_function();
2185: END IF;
2186: RETURN;
2187:
2188: WHEN OTHERS THEN
2193: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'pa_fp_copy_from_pkg'
2194: ,p_procedure_name => 'create_res_task_maps');
2195:
2196: IF l_debug_mode = 'Y' THEN
2197: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
2198: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
2199: -- reset curr function
2200: pa_debug.Reset_Curr_Function();
2201: END IF;
2194: ,p_procedure_name => 'create_res_task_maps');
2195:
2196: IF l_debug_mode = 'Y' THEN
2197: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
2198: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
2199: -- reset curr function
2200: pa_debug.Reset_Curr_Function();
2201: END IF;
2202: RAISE;
2196: IF l_debug_mode = 'Y' THEN
2197: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
2198: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
2199: -- reset curr function
2200: pa_debug.Reset_Curr_Function();
2201: END IF;
2202: RAISE;
2203:
2204: END create_res_task_maps;
2274:
2275: BEGIN
2276: x_msg_count := 0;
2277: x_return_status := FND_API.G_RET_STS_SUCCESS;
2278: IF P_PA_DEBUG_MODE = 'Y' THEN
2279: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Resource_Assignments');
2280: END IF;
2281: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2282: l_debug_mode := NVL(l_debug_mode, 'Y');
2275: BEGIN
2276: x_msg_count := 0;
2277: x_return_status := FND_API.G_RET_STS_SUCCESS;
2278: IF P_PA_DEBUG_MODE = 'Y' THEN
2279: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Resource_Assignments');
2280: END IF;
2281: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2282: l_debug_mode := NVL(l_debug_mode, 'Y');
2283: IF P_PA_DEBUG_MODE = 'Y' THEN
2277: x_return_status := FND_API.G_RET_STS_SUCCESS;
2278: IF P_PA_DEBUG_MODE = 'Y' THEN
2279: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Resource_Assignments');
2280: END IF;
2281: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2282: l_debug_mode := NVL(l_debug_mode, 'Y');
2283: IF P_PA_DEBUG_MODE = 'Y' THEN
2284: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
2285: END IF;
2279: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Resource_Assignments');
2280: END IF;
2281: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2282: l_debug_mode := NVL(l_debug_mode, 'Y');
2283: IF P_PA_DEBUG_MODE = 'Y' THEN
2284: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
2285: END IF;
2286:
2287:
2280: END IF;
2281: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
2282: l_debug_mode := NVL(l_debug_mode, 'Y');
2283: IF P_PA_DEBUG_MODE = 'Y' THEN
2284: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
2285: END IF;
2286:
2287:
2288: /*
2289: * Check if source_verion_id, target_version_id are NULL, if so throw
2290: * an error message
2291: */
2292:
2293: IF P_PA_DEBUG_MODE = 'Y' THEN
2294: pa_debug.g_err_stage := 'Checking for valid parameters:';
2295: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2296: END IF;
2297:
2290: * an error message
2291: */
2292:
2293: IF P_PA_DEBUG_MODE = 'Y' THEN
2294: pa_debug.g_err_stage := 'Checking for valid parameters:';
2295: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2296: END IF;
2297:
2298: IF (p_source_plan_version_id IS NULL) OR
2291: */
2292:
2293: IF P_PA_DEBUG_MODE = 'Y' THEN
2294: pa_debug.g_err_stage := 'Checking for valid parameters:';
2295: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2296: END IF;
2297:
2298: IF (p_source_plan_version_id IS NULL) OR
2299: (p_target_plan_version_id IS NULL)
2298: IF (p_source_plan_version_id IS NULL) OR
2299: (p_target_plan_version_id IS NULL)
2300: THEN
2301:
2302: IF P_PA_DEBUG_MODE = 'Y' THEN
2303: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
2304: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2305:
2306: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
2299: (p_target_plan_version_id IS NULL)
2300: THEN
2301:
2302: IF P_PA_DEBUG_MODE = 'Y' THEN
2303: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
2304: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2305:
2306: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
2307: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2300: THEN
2301:
2302: IF P_PA_DEBUG_MODE = 'Y' THEN
2303: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
2304: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2305:
2306: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
2307: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2308: END IF;
2302: IF P_PA_DEBUG_MODE = 'Y' THEN
2303: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
2304: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2305:
2306: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
2307: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2308: END IF;
2309:
2310: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
2303: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
2304: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2305:
2306: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
2307: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
2308: END IF;
2309:
2310: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
2311: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
2311: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
2312: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2313: END IF;
2314:
2315: IF P_PA_DEBUG_MODE = 'Y' THEN
2316: pa_debug.g_err_stage := 'Parameter validation complete';
2317: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2318: END IF;
2319:
2312: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
2313: END IF;
2314:
2315: IF P_PA_DEBUG_MODE = 'Y' THEN
2316: pa_debug.g_err_stage := 'Parameter validation complete';
2317: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2318: END IF;
2319:
2320: --If adj_percentage is null make it zero
2313: END IF;
2314:
2315: IF P_PA_DEBUG_MODE = 'Y' THEN
2316: pa_debug.g_err_stage := 'Parameter validation complete';
2317: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2318: END IF;
2319:
2320: --If adj_percentage is null make it zero
2321:
2322: l_adj_percentage := NVL(p_adj_percentage,0);
2323:
2324: --Fetching the flags of target version using fin_plan_prefernce_code
2325:
2326: IF P_PA_DEBUG_MODE = 'Y' THEN
2327: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
2328: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2329: END IF;
2330:
2323:
2324: --Fetching the flags of target version using fin_plan_prefernce_code
2325:
2326: IF P_PA_DEBUG_MODE = 'Y' THEN
2327: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
2328: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2329: END IF;
2330:
2331: SELECT DECODE(pfot.fin_plan_preference_code
2324: --Fetching the flags of target version using fin_plan_prefernce_code
2325:
2326: IF P_PA_DEBUG_MODE = 'Y' THEN
2327: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
2328: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2329: END IF;
2330:
2331: SELECT DECODE(pfot.fin_plan_preference_code
2332: ,PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY ,'Y'
2353: AND pfos.fin_plan_version_id=p_source_plan_version_id
2354: AND rl.resource_list_id=nvl(pfot.cost_resource_list_id, nvl(pfot.revenue_resource_list_id,pfot.all_resource_list_id));
2355:
2356: /*
2357: IF P_PA_DEBUG_MODE = 'Y' THEN
2358: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
2359: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2360: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
2361: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2354: AND rl.resource_list_id=nvl(pfot.cost_resource_list_id, nvl(pfot.revenue_resource_list_id,pfot.all_resource_list_id));
2355:
2356: /*
2357: IF P_PA_DEBUG_MODE = 'Y' THEN
2358: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
2359: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2360: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
2361: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2362: pa_debug.g_err_stage:='l_target_project_id ='||l_target_project_id;
2355:
2356: /*
2357: IF P_PA_DEBUG_MODE = 'Y' THEN
2358: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
2359: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2360: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
2361: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2362: pa_debug.g_err_stage:='l_target_project_id ='||l_target_project_id;
2363: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2356: /*
2357: IF P_PA_DEBUG_MODE = 'Y' THEN
2358: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
2359: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2360: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
2361: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2362: pa_debug.g_err_stage:='l_target_project_id ='||l_target_project_id;
2363: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2364: END IF;
2357: IF P_PA_DEBUG_MODE = 'Y' THEN
2358: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
2359: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2360: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
2361: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2362: pa_debug.g_err_stage:='l_target_project_id ='||l_target_project_id;
2363: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2364: END IF;
2365: */
2358: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
2359: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2360: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
2361: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2362: pa_debug.g_err_stage:='l_target_project_id ='||l_target_project_id;
2363: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2364: END IF;
2365: */
2366: --Inserting records into pa_resource_assignments using pa_fp_ra_map_tmp
2359: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2360: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
2361: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2362: pa_debug.g_err_stage:='l_target_project_id ='||l_target_project_id;
2363: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2364: END IF;
2365: */
2366: --Inserting records into pa_resource_assignments using pa_fp_ra_map_tmp
2367:
2364: END IF;
2365: */
2366: --Inserting records into pa_resource_assignments using pa_fp_ra_map_tmp
2367:
2368: IF P_PA_DEBUG_MODE = 'Y' THEN
2369: pa_debug.g_err_stage:='Copying the source version records as target version records';
2370: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2371: END IF;
2372: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
2365: */
2366: --Inserting records into pa_resource_assignments using pa_fp_ra_map_tmp
2367:
2368: IF P_PA_DEBUG_MODE = 'Y' THEN
2369: pa_debug.g_err_stage:='Copying the source version records as target version records';
2370: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2371: END IF;
2372: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
2373:
2366: --Inserting records into pa_resource_assignments using pa_fp_ra_map_tmp
2367:
2368: IF P_PA_DEBUG_MODE = 'Y' THEN
2369: pa_debug.g_err_stage:='Copying the source version records as target version records';
2370: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2371: END IF;
2372: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
2373:
2374: --Bug 3974569. Need not have pa_rbs_plans_out_tmp in the FROM clause if the parameter is N
2371: END IF;
2372: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
2373:
2374: --Bug 3974569. Need not have pa_rbs_plans_out_tmp in the FROM clause if the parameter is N
2375: IF P_PA_DEBUG_MODE = 'Y' THEN
2376: pa_debug.g_err_stage:='p_rbs_map_diff_flag '||p_rbs_map_diff_flag;
2377: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2378: END IF;
2379:
2372: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
2373:
2374: --Bug 3974569. Need not have pa_rbs_plans_out_tmp in the FROM clause if the parameter is N
2375: IF P_PA_DEBUG_MODE = 'Y' THEN
2376: pa_debug.g_err_stage:='p_rbs_map_diff_flag '||p_rbs_map_diff_flag;
2377: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2378: END IF;
2379:
2380: IF (p_calling_context='WORKPLAN' AND nvl(p_rbs_map_diff_flag,'N') ='N') OR
2373:
2374: --Bug 3974569. Need not have pa_rbs_plans_out_tmp in the FROM clause if the parameter is N
2375: IF P_PA_DEBUG_MODE = 'Y' THEN
2376: pa_debug.g_err_stage:='p_rbs_map_diff_flag '||p_rbs_map_diff_flag;
2377: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2378: END IF;
2379:
2380: IF (p_calling_context='WORKPLAN' AND nvl(p_rbs_map_diff_flag,'N') ='N') OR
2381: p_calling_context='CI' THEN
2379:
2380: IF (p_calling_context='WORKPLAN' AND nvl(p_rbs_map_diff_flag,'N') ='N') OR
2381: p_calling_context='CI' THEN
2382:
2383: IF P_PA_DEBUG_MODE = 'Y' THEN
2384: pa_debug.g_err_stage:='Using the First RA Insert';
2385: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2386: END IF;
2387:
2380: IF (p_calling_context='WORKPLAN' AND nvl(p_rbs_map_diff_flag,'N') ='N') OR
2381: p_calling_context='CI' THEN
2382:
2383: IF P_PA_DEBUG_MODE = 'Y' THEN
2384: pa_debug.g_err_stage:='Using the First RA Insert';
2385: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2386: END IF;
2387:
2388: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
2381: p_calling_context='CI' THEN
2382:
2383: IF P_PA_DEBUG_MODE = 'Y' THEN
2384: pa_debug.g_err_stage:='Using the First RA Insert';
2385: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2386: END IF;
2387:
2388: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
2389: resource_assignment_id
2642: --For Bug 3974569. Take rbs_element_id and txn_accum_header_id from pa_rbs_plans_out_tmp
2643: --API is called for in WORKPLAN CONTEXT for copying from source to target with different RBSs or Resource Lists
2644: ELSIF p_calling_context='WORKPLAN' AND p_rbs_map_diff_flag ='Y' THEN --IF p_rbs_map_diff_flag ='N' THEN
2645:
2646: IF P_PA_DEBUG_MODE = 'Y' THEN
2647:
2648: pa_debug.g_err_stage:='Using the Second RA Insert';
2649: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2650:
2644: ELSIF p_calling_context='WORKPLAN' AND p_rbs_map_diff_flag ='Y' THEN --IF p_rbs_map_diff_flag ='N' THEN
2645:
2646: IF P_PA_DEBUG_MODE = 'Y' THEN
2647:
2648: pa_debug.g_err_stage:='Using the Second RA Insert';
2649: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2650:
2651:
2652: SELECT COUNT(*)
2645:
2646: IF P_PA_DEBUG_MODE = 'Y' THEN
2647:
2648: pa_debug.g_err_stage:='Using the Second RA Insert';
2649: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2650:
2651:
2652: SELECT COUNT(*)
2653: INTO l_tmp
2652: SELECT COUNT(*)
2653: INTO l_tmp
2654: FROM PA_FP_RA_MAP_TMP;
2655:
2656: pa_debug.g_err_stage:='PA_FP_RA_MAP_TMP count '||l_tmp;
2657: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2658:
2659: SELECT COUNT(*)
2660: INTO l_tmp
2653: INTO l_tmp
2654: FROM PA_FP_RA_MAP_TMP;
2655:
2656: pa_debug.g_err_stage:='PA_FP_RA_MAP_TMP count '||l_tmp;
2657: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2658:
2659: SELECT COUNT(*)
2660: INTO l_tmp
2661: FROM pa_rbs_plans_out_tmp;
2659: SELECT COUNT(*)
2660: INTO l_tmp
2661: FROM pa_rbs_plans_out_tmp;
2662:
2663: pa_debug.g_err_stage:='pa_rbs_plans_out_tmp count '||l_tmp;
2664: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2665:
2666: END IF;
2667:
2660: INTO l_tmp
2661: FROM pa_rbs_plans_out_tmp;
2662:
2663: pa_debug.g_err_stage:='pa_rbs_plans_out_tmp count '||l_tmp;
2664: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2665:
2666: END IF;
2667:
2668: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
2926: ELSIF ((p_calling_context IS NULL OR p_calling_context='CREATE_VERSION') AND l_source_project_id=l_target_project_id) OR
2927: ((p_calling_context IS NULL OR p_calling_context='CREATE_VERSION') AND l_source_project_id<>l_target_project_id
2928: AND l_fin_plan_level_code='P' AND l_control_flag='Y' ) THEN
2929:
2930: IF P_PA_DEBUG_MODE = 'Y' THEN
2931: pa_debug.g_err_stage:='Using the Third RA Insert';
2932: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2933: END IF;
2934:
2927: ((p_calling_context IS NULL OR p_calling_context='CREATE_VERSION') AND l_source_project_id<>l_target_project_id
2928: AND l_fin_plan_level_code='P' AND l_control_flag='Y' ) THEN
2929:
2930: IF P_PA_DEBUG_MODE = 'Y' THEN
2931: pa_debug.g_err_stage:='Using the Third RA Insert';
2932: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2933: END IF;
2934:
2935: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
2928: AND l_fin_plan_level_code='P' AND l_control_flag='Y' ) THEN
2929:
2930: IF P_PA_DEBUG_MODE = 'Y' THEN
2931: pa_debug.g_err_stage:='Using the Third RA Insert';
2932: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
2933: END IF;
2934:
2935: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
2936: resource_assignment_id
3188:
3189: IF l_control_flag ='N' THEN
3190:
3191:
3192: IF P_PA_DEBUG_MODE = 'Y' THEN
3193: pa_debug.g_err_stage:='Using the Fourth RA Insert';
3194: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3195: END IF;
3196:
3189: IF l_control_flag ='N' THEN
3190:
3191:
3192: IF P_PA_DEBUG_MODE = 'Y' THEN
3193: pa_debug.g_err_stage:='Using the Fourth RA Insert';
3194: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3195: END IF;
3196:
3197: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
3190:
3191:
3192: IF P_PA_DEBUG_MODE = 'Y' THEN
3193: pa_debug.g_err_stage:='Using the Fourth RA Insert';
3194: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3195: END IF;
3196:
3197: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
3198: resource_assignment_id
3458:
3459: IF l_control_flag ='N' THEN
3460:
3461:
3462: IF P_PA_DEBUG_MODE = 'Y' THEN
3463: pa_debug.g_err_stage:='Using the FIFTH RA Insert';
3464: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3465: END IF;
3466:
3459: IF l_control_flag ='N' THEN
3460:
3461:
3462: IF P_PA_DEBUG_MODE = 'Y' THEN
3463: pa_debug.g_err_stage:='Using the FIFTH RA Insert';
3464: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3465: END IF;
3466:
3467: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
3460:
3461:
3462: IF P_PA_DEBUG_MODE = 'Y' THEN
3463: pa_debug.g_err_stage:='Using the FIFTH RA Insert';
3464: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3465: END IF;
3466:
3467: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
3468: resource_assignment_id
3733: AND pelm.source_task_id=pra.task_id;
3734:
3735: ELSE --Control Flag is Y and Planning Level is not project
3736:
3737: IF P_PA_DEBUG_MODE = 'Y' THEN
3738: pa_debug.g_err_stage:='Using the Sixth RA Insert';
3739: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3740: END IF;
3741:
3734:
3735: ELSE --Control Flag is Y and Planning Level is not project
3736:
3737: IF P_PA_DEBUG_MODE = 'Y' THEN
3738: pa_debug.g_err_stage:='Using the Sixth RA Insert';
3739: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3740: END IF;
3741:
3742: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
3735: ELSE --Control Flag is Y and Planning Level is not project
3736:
3737: IF P_PA_DEBUG_MODE = 'Y' THEN
3738: pa_debug.g_err_stage:='Using the Sixth RA Insert';
3739: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
3740: END IF;
3741:
3742: INSERT INTO PA_RESOURCE_ASSIGNMENTS(
3743: resource_assignment_id
4003:
4004: END IF;--IF p_rbs_map_diff_flag ='N' THEN
4005:
4006: l_tmp := SQL%ROWCOUNT;
4007: IF P_PA_DEBUG_MODE = 'Y' THEN
4008: pa_debug.g_err_stage:='No. of records inserted into PRA '||l_tmp;
4009: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
4010: END IF;
4011: /** Bug 6161031 When we copy the resource assignments ideally we should call the
4004: END IF;--IF p_rbs_map_diff_flag ='N' THEN
4005:
4006: l_tmp := SQL%ROWCOUNT;
4007: IF P_PA_DEBUG_MODE = 'Y' THEN
4008: pa_debug.g_err_stage:='No. of records inserted into PRA '||l_tmp;
4009: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
4010: END IF;
4011: /** Bug 6161031 When we copy the resource assignments ideally we should call the
4012: PA_PLANNING_RESOURCE_UTILS.get_resource_defaults and use the new
4005:
4006: l_tmp := SQL%ROWCOUNT;
4007: IF P_PA_DEBUG_MODE = 'Y' THEN
4008: pa_debug.g_err_stage:='No. of records inserted into PRA '||l_tmp;
4009: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
4010: END IF;
4011: /** Bug 6161031 When we copy the resource assignments ideally we should call the
4012: PA_PLANNING_RESOURCE_UTILS.get_resource_defaults and use the new
4013: attributes. But organization_id is the only column which is depending
4037: and prlm.organization_id is null);
4038: END IF;
4039:
4040: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
4041: IF P_PA_DEBUG_MODE = 'Y' THEN
4042: pa_debug.g_err_stage:='Exiting Copy_Resource_Assignments';
4043: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
4044: pa_debug.reset_err_stack; -- bug:- 2815593
4045: END IF;
4038: END IF;
4039:
4040: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
4041: IF P_PA_DEBUG_MODE = 'Y' THEN
4042: pa_debug.g_err_stage:='Exiting Copy_Resource_Assignments';
4043: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
4044: pa_debug.reset_err_stack; -- bug:- 2815593
4045: END IF;
4046: EXCEPTION
4039:
4040: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
4041: IF P_PA_DEBUG_MODE = 'Y' THEN
4042: pa_debug.g_err_stage:='Exiting Copy_Resource_Assignments';
4043: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
4044: pa_debug.reset_err_stack; -- bug:- 2815593
4045: END IF;
4046: EXCEPTION
4047:
4040: -- Bug 3362316, 08-JAN-2003: Added New FP.M Columns --------------------------
4041: IF P_PA_DEBUG_MODE = 'Y' THEN
4042: pa_debug.g_err_stage:='Exiting Copy_Resource_Assignments';
4043: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,3);
4044: pa_debug.reset_err_stack; -- bug:- 2815593
4045: END IF;
4046: EXCEPTION
4047:
4048: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
4061: x_msg_count := l_msg_count;
4062: END IF;
4063: x_return_status := FND_API.G_RET_STS_ERROR;
4064:
4065: IF P_PA_DEBUG_MODE = 'Y' THEN
4066: pa_debug.g_err_stage:='Invalid Arguments Passed';
4067: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
4068: pa_debug.reset_err_stack;
4069: END IF;
4062: END IF;
4063: x_return_status := FND_API.G_RET_STS_ERROR;
4064:
4065: IF P_PA_DEBUG_MODE = 'Y' THEN
4066: pa_debug.g_err_stage:='Invalid Arguments Passed';
4067: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
4068: pa_debug.reset_err_stack;
4069: END IF;
4070: RAISE;
4063: x_return_status := FND_API.G_RET_STS_ERROR;
4064:
4065: IF P_PA_DEBUG_MODE = 'Y' THEN
4066: pa_debug.g_err_stage:='Invalid Arguments Passed';
4067: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
4068: pa_debug.reset_err_stack;
4069: END IF;
4070: RAISE;
4071:
4064:
4065: IF P_PA_DEBUG_MODE = 'Y' THEN
4066: pa_debug.g_err_stage:='Invalid Arguments Passed';
4067: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
4068: pa_debug.reset_err_stack;
4069: END IF;
4070: RAISE;
4071:
4072: WHEN Others THEN
4075: x_msg_data := SQLERRM;
4076: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
4077: ,p_procedure_name => 'COPY_RESOURCE_ASSIGNMENTS');
4078:
4079: IF P_PA_DEBUG_MODE = 'Y' THEN
4080: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
4081: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
4082: pa_debug.reset_err_stack;
4083: END IF;
4076: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
4077: ,p_procedure_name => 'COPY_RESOURCE_ASSIGNMENTS');
4078:
4079: IF P_PA_DEBUG_MODE = 'Y' THEN
4080: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
4081: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
4082: pa_debug.reset_err_stack;
4083: END IF;
4084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4077: ,p_procedure_name => 'COPY_RESOURCE_ASSIGNMENTS');
4078:
4079: IF P_PA_DEBUG_MODE = 'Y' THEN
4080: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
4081: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
4082: pa_debug.reset_err_stack;
4083: END IF;
4084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4085:
4078:
4079: IF P_PA_DEBUG_MODE = 'Y' THEN
4080: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
4081: pa_debug.write('Copy_Resource_Assignments: ' || g_module_name,pa_debug.g_err_stage,5);
4082: pa_debug.reset_err_stack;
4083: END IF;
4084: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4085:
4086: END Copy_Resource_Assignments;
4145:
4146: x_msg_count := 0;
4147: x_return_status := FND_API.G_RET_STS_SUCCESS;
4148:
4149: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
4150: l_debug_mode := NVL(l_debug_mode, 'Y');
4151: l_module_name := 'PAFPCPFB.mis_amts_chk_neg_qty';
4152:
4153: -- Set curr function
4151: l_module_name := 'PAFPCPFB.mis_amts_chk_neg_qty';
4152:
4153: -- Set curr function
4154: IF l_debug_mode='Y' THEN
4155: pa_debug.set_curr_function(
4156: p_function =>'PAFPCPFB.mis_amts_chk_neg_qty'
4157: ,p_debug_mode => l_debug_mode );
4158:
4159: pa_debug.g_err_stage:= 'Validation Input Parameters';
4155: pa_debug.set_curr_function(
4156: p_function =>'PAFPCPFB.mis_amts_chk_neg_qty'
4157: ,p_debug_mode => l_debug_mode );
4158:
4159: pa_debug.g_err_stage:= 'Validation Input Parameters';
4160: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4161:
4162: END IF;
4163:
4156: p_function =>'PAFPCPFB.mis_amts_chk_neg_qty'
4157: ,p_debug_mode => l_debug_mode );
4158:
4159: pa_debug.g_err_stage:= 'Validation Input Parameters';
4160: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4161:
4162: END IF;
4163:
4164:
4170: p_derv_rates_missing_amts_flag IS NULL THEN
4171:
4172: IF l_debug_mode='Y' THEN
4173:
4174: pa_debug.g_err_stage:= 'p_budget_version_id '|| p_budget_version_id;
4175: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4176:
4177: pa_debug.g_err_stage:= 'p_targ_pref_code '|| p_targ_pref_code;
4178: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4171:
4172: IF l_debug_mode='Y' THEN
4173:
4174: pa_debug.g_err_stage:= 'p_budget_version_id '|| p_budget_version_id;
4175: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4176:
4177: pa_debug.g_err_stage:= 'p_targ_pref_code '|| p_targ_pref_code;
4178: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4179:
4173:
4174: pa_debug.g_err_stage:= 'p_budget_version_id '|| p_budget_version_id;
4175: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4176:
4177: pa_debug.g_err_stage:= 'p_targ_pref_code '|| p_targ_pref_code;
4178: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4179:
4180: pa_debug.g_err_stage:= 'p_source_version_type '|| p_source_version_type;
4181: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4174: pa_debug.g_err_stage:= 'p_budget_version_id '|| p_budget_version_id;
4175: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4176:
4177: pa_debug.g_err_stage:= 'p_targ_pref_code '|| p_targ_pref_code;
4178: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4179:
4180: pa_debug.g_err_stage:= 'p_source_version_type '|| p_source_version_type;
4181: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4182:
4176:
4177: pa_debug.g_err_stage:= 'p_targ_pref_code '|| p_targ_pref_code;
4178: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4179:
4180: pa_debug.g_err_stage:= 'p_source_version_type '|| p_source_version_type;
4181: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4182:
4183: pa_debug.g_err_stage:= 'p_target_version_type '|| p_target_version_type;
4184: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4177: pa_debug.g_err_stage:= 'p_targ_pref_code '|| p_targ_pref_code;
4178: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4179:
4180: pa_debug.g_err_stage:= 'p_source_version_type '|| p_source_version_type;
4181: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4182:
4183: pa_debug.g_err_stage:= 'p_target_version_type '|| p_target_version_type;
4184: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4185:
4179:
4180: pa_debug.g_err_stage:= 'p_source_version_type '|| p_source_version_type;
4181: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4182:
4183: pa_debug.g_err_stage:= 'p_target_version_type '|| p_target_version_type;
4184: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4185:
4186: pa_debug.g_err_stage:= 'p_src_plan_class_code '|| p_src_plan_class_code;
4187: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4180: pa_debug.g_err_stage:= 'p_source_version_type '|| p_source_version_type;
4181: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4182:
4183: pa_debug.g_err_stage:= 'p_target_version_type '|| p_target_version_type;
4184: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4185:
4186: pa_debug.g_err_stage:= 'p_src_plan_class_code '|| p_src_plan_class_code;
4187: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4188:
4182:
4183: pa_debug.g_err_stage:= 'p_target_version_type '|| p_target_version_type;
4184: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4185:
4186: pa_debug.g_err_stage:= 'p_src_plan_class_code '|| p_src_plan_class_code;
4187: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4188:
4189: pa_debug.g_err_stage:= 'p_derv_rates_missing_amts_flag '|| p_derv_rates_missing_amts_flag;
4190: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4183: pa_debug.g_err_stage:= 'p_target_version_type '|| p_target_version_type;
4184: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4185:
4186: pa_debug.g_err_stage:= 'p_src_plan_class_code '|| p_src_plan_class_code;
4187: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4188:
4189: pa_debug.g_err_stage:= 'p_derv_rates_missing_amts_flag '|| p_derv_rates_missing_amts_flag;
4190: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4191:
4185:
4186: pa_debug.g_err_stage:= 'p_src_plan_class_code '|| p_src_plan_class_code;
4187: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4188:
4189: pa_debug.g_err_stage:= 'p_derv_rates_missing_amts_flag '|| p_derv_rates_missing_amts_flag;
4190: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4191:
4192: END IF;
4193:
4186: pa_debug.g_err_stage:= 'p_src_plan_class_code '|| p_src_plan_class_code;
4187: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4188:
4189: pa_debug.g_err_stage:= 'p_derv_rates_missing_amts_flag '|| p_derv_rates_missing_amts_flag;
4190: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4191:
4192: END IF;
4193:
4194: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
4235: IF l_bl_id_tbl.COUNT =0 THEN
4236:
4237: IF l_debug_mode='Y' THEN
4238:
4239: pa_debug.g_err_stage:= 'Budget Line count is 0';
4240: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4241:
4242: pa_debug.reset_curr_function;
4243: END IF;
4236:
4237: IF l_debug_mode='Y' THEN
4238:
4239: pa_debug.g_err_stage:= 'Budget Line count is 0';
4240: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4241:
4242: pa_debug.reset_curr_function;
4243: END IF;
4244:
4238:
4239: pa_debug.g_err_stage:= 'Budget Line count is 0';
4240: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4241:
4242: pa_debug.reset_curr_function;
4243: END IF;
4244:
4245: RETURN;
4246:
4250: IF p_derv_rates_missing_amts_flag='Y' THEN
4251:
4252: IF l_debug_mode='Y' THEN
4253:
4254: pa_debug.g_err_stage:= 'Calling pa_fp_upgrade_pkg.Apply_Calculate_FPM_Rules';
4255: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4256:
4257: END IF;
4258:
4251:
4252: IF l_debug_mode='Y' THEN
4253:
4254: pa_debug.g_err_stage:= 'Calling pa_fp_upgrade_pkg.Apply_Calculate_FPM_Rules';
4255: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4256:
4257: END IF;
4258:
4259: pa_fp_upgrade_pkg.Apply_Calculate_FPM_Rules
4277: ,x_msg_data => l_msg_data);
4278:
4279: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4280: IF l_debug_mode = 'Y' THEN
4281: pa_debug.g_err_stage:= 'Error in pa_fp_upgrade_pkg.Apply_Calculate_FPM_Rules';
4282: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4283: END IF;
4284: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
4285: END IF;
4278:
4279: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4280: IF l_debug_mode = 'Y' THEN
4281: pa_debug.g_err_stage:= 'Error in pa_fp_upgrade_pkg.Apply_Calculate_FPM_Rules';
4282: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4283: END IF;
4284: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
4285: END IF;
4286:
4315: /*
4316:
4317: IF l_debug_mode='Y' THEN
4318:
4319: pa_debug.g_err_stage:= 'Calling PA_FP_CALC_PLAN_PKG.CheckZeroQTyNegETC';
4320: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4321:
4322: END IF;
4323: */
4316:
4317: IF l_debug_mode='Y' THEN
4318:
4319: pa_debug.g_err_stage:= 'Calling PA_FP_CALC_PLAN_PKG.CheckZeroQTyNegETC';
4320: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4321:
4322: END IF;
4323: */
4324:
4349: ,x_msg_data => l_msg_data);
4350:
4351: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4352: IF l_debug_mode = 'Y' THEN
4353: pa_debug.g_err_stage:= 'Error in PA_FP_CALC_PLAN_PKG.CheckZeroQTyNegETC';
4354: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4355: END IF;
4356: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
4357: END IF;
4350:
4351: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4352: IF l_debug_mode = 'Y' THEN
4353: pa_debug.g_err_stage:= 'Error in PA_FP_CALC_PLAN_PKG.CheckZeroQTyNegETC';
4354: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4355: END IF;
4356: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
4357: END IF;
4358:
4366: IF p_derv_rates_missing_amts_flag='Y' THEN
4367:
4368: IF l_debug_mode='Y' THEN
4369:
4370: pa_debug.g_err_stage:= 'p_source_version_type '||p_source_version_type;
4371: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4372:
4373: pa_debug.g_err_stage:= 'p_target_version_type '||p_target_version_type;
4374: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4367:
4368: IF l_debug_mode='Y' THEN
4369:
4370: pa_debug.g_err_stage:= 'p_source_version_type '||p_source_version_type;
4371: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4372:
4373: pa_debug.g_err_stage:= 'p_target_version_type '||p_target_version_type;
4374: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4375:
4369:
4370: pa_debug.g_err_stage:= 'p_source_version_type '||p_source_version_type;
4371: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4372:
4373: pa_debug.g_err_stage:= 'p_target_version_type '||p_target_version_type;
4374: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4375:
4376: END IF;
4377:
4370: pa_debug.g_err_stage:= 'p_source_version_type '||p_source_version_type;
4371: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4372:
4373: pa_debug.g_err_stage:= 'p_target_version_type '||p_target_version_type;
4374: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4375:
4376: END IF;
4377:
4378: IF p_source_version_type='COST' THEN
4449: IF l_debug_mode='Y' THEN
4450:
4451: FOR kk IN 1..l_non_rb_ra_id_tbl.COUNT LOOP
4452:
4453: pa_debug.g_err_stage:= 'l_non_rb_ra_id_tbl('||kk||')'||l_non_rb_ra_id_tbl(kk);
4454: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4455:
4456: END LOOP;
4457:
4450:
4451: FOR kk IN 1..l_non_rb_ra_id_tbl.COUNT LOOP
4452:
4453: pa_debug.g_err_stage:= 'l_non_rb_ra_id_tbl('||kk||')'||l_non_rb_ra_id_tbl(kk);
4454: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4455:
4456: END LOOP;
4457:
4458: FOR kk IN 1..l_ra_id_tbl.COUNT LOOP
4456: END LOOP;
4457:
4458: FOR kk IN 1..l_ra_id_tbl.COUNT LOOP
4459:
4460: pa_debug.g_err_stage:= 'l_ra_id_tbl('||kk||')'||l_ra_id_tbl(kk);
4461: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4462: END LOOP;
4463:
4464: END IF;
4457:
4458: FOR kk IN 1..l_ra_id_tbl.COUNT LOOP
4459:
4460: pa_debug.g_err_stage:= 'l_ra_id_tbl('||kk||')'||l_ra_id_tbl(kk);
4461: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4462: END LOOP;
4463:
4464: END IF;
4465:
4487: END IF;
4488:
4489: IF l_debug_mode='Y' THEN
4490:
4491: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl.COUNT '||l_bl_rb_flag_chg_tbl.COUNT;
4492: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4493:
4494: END IF;
4495:
4488:
4489: IF l_debug_mode='Y' THEN
4490:
4491: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl.COUNT '||l_bl_rb_flag_chg_tbl.COUNT;
4492: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4493:
4494: END IF;
4495:
4496: FOR kk IN l_bl_rb_flag_chg_tbl.COUNT+1..l_ra_id_tbl.COUNT LOOP
4501: END LOOP;
4502:
4503: IF l_debug_mode='Y' THEN
4504:
4505: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl.COUNT '||l_bl_rb_flag_chg_tbl.COUNT;
4506: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4507:
4508: pa_debug.g_err_stage:= 'l_ra_id_tbl.COUNT '||l_ra_id_tbl.COUNT;
4509: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4502:
4503: IF l_debug_mode='Y' THEN
4504:
4505: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl.COUNT '||l_bl_rb_flag_chg_tbl.COUNT;
4506: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4507:
4508: pa_debug.g_err_stage:= 'l_ra_id_tbl.COUNT '||l_ra_id_tbl.COUNT;
4509: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4510:
4504:
4505: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl.COUNT '||l_bl_rb_flag_chg_tbl.COUNT;
4506: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4507:
4508: pa_debug.g_err_stage:= 'l_ra_id_tbl.COUNT '||l_ra_id_tbl.COUNT;
4509: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4510:
4511: FOR kk IN 1..l_bl_rb_flag_chg_tbl.COUNT LOOP
4512:
4505: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl.COUNT '||l_bl_rb_flag_chg_tbl.COUNT;
4506: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4507:
4508: pa_debug.g_err_stage:= 'l_ra_id_tbl.COUNT '||l_ra_id_tbl.COUNT;
4509: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4510:
4511: FOR kk IN 1..l_bl_rb_flag_chg_tbl.COUNT LOOP
4512:
4513: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl('||kk||')'||l_bl_rb_flag_chg_tbl(kk);
4509: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4510:
4511: FOR kk IN 1..l_bl_rb_flag_chg_tbl.COUNT LOOP
4512:
4513: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl('||kk||')'||l_bl_rb_flag_chg_tbl(kk);
4514: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4515: END LOOP;
4516:
4517: END IF;
4510:
4511: FOR kk IN 1..l_bl_rb_flag_chg_tbl.COUNT LOOP
4512:
4513: pa_debug.g_err_stage:= 'l_bl_rb_flag_chg_tbl('||kk||')'||l_bl_rb_flag_chg_tbl(kk);
4514: pa_debug.write(l_module_name,pa_debug.g_err_stage,3);
4515: END LOOP;
4516:
4517: END IF;
4518:
4633: END IF;--IF p_derv_rates_missing_amts_flag='Y' THEN
4634:
4635: IF l_debug_mode='Y' THEN
4636:
4637: pa_debug.g_err_stage:= 'Leaving '||l_module_name;
4638: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4639:
4640: pa_debug.reset_curr_function;
4641: END IF;
4634:
4635: IF l_debug_mode='Y' THEN
4636:
4637: pa_debug.g_err_stage:= 'Leaving '||l_module_name;
4638: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4639:
4640: pa_debug.reset_curr_function;
4641: END IF;
4642:
4636:
4637: pa_debug.g_err_stage:= 'Leaving '||l_module_name;
4638: pa_debug.write(l_module_name,pa_debug.g_err_stage,5);
4639:
4640: pa_debug.reset_curr_function;
4641: END IF;
4642:
4643: EXCEPTION
4644: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
4659: END IF;
4660: x_return_status := FND_API.G_RET_STS_ERROR;
4661:
4662: IF l_debug_mode = 'Y' THEN
4663: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
4664: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
4665: -- reset curr function
4666: pa_debug.reset_curr_function();
4667: END IF;
4660: x_return_status := FND_API.G_RET_STS_ERROR;
4661:
4662: IF l_debug_mode = 'Y' THEN
4663: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
4664: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
4665: -- reset curr function
4666: pa_debug.reset_curr_function();
4667: END IF;
4668: RETURN;
4662: IF l_debug_mode = 'Y' THEN
4663: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
4664: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
4665: -- reset curr function
4666: pa_debug.reset_curr_function();
4667: END IF;
4668: RETURN;
4669: WHEN OTHERS THEN
4670: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4674: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'pa_fp_copy_from_pkg'
4675: ,p_procedure_name => 'derv_missing_amts_chk_neg_qty');
4676:
4677: IF l_debug_mode = 'Y' THEN
4678: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
4679: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
4680: -- reset curr function
4681: pa_debug.reset_curr_function();
4682: END IF;
4675: ,p_procedure_name => 'derv_missing_amts_chk_neg_qty');
4676:
4677: IF l_debug_mode = 'Y' THEN
4678: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
4679: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
4680: -- reset curr function
4681: pa_debug.reset_curr_function();
4682: END IF;
4683: RAISE;
4677: IF l_debug_mode = 'Y' THEN
4678: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
4679: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
4680: -- reset curr function
4681: pa_debug.reset_curr_function();
4682: END IF;
4683: RAISE;
4684:
4685: END derv_missing_amts_chk_neg_qty;
4761: BEGIN
4762:
4763: x_msg_count := 0;
4764: x_return_status := FND_API.G_RET_STS_SUCCESS;
4765: IF P_PA_DEBUG_MODE = 'Y' THEN
4766: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines');
4767: END IF;
4768: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
4769: l_debug_mode := NVL(l_debug_mode, 'Y');
4762:
4763: x_msg_count := 0;
4764: x_return_status := FND_API.G_RET_STS_SUCCESS;
4765: IF P_PA_DEBUG_MODE = 'Y' THEN
4766: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines');
4767: END IF;
4768: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
4769: l_debug_mode := NVL(l_debug_mode, 'Y');
4770: IF P_PA_DEBUG_MODE = 'Y' THEN
4764: x_return_status := FND_API.G_RET_STS_SUCCESS;
4765: IF P_PA_DEBUG_MODE = 'Y' THEN
4766: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines');
4767: END IF;
4768: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
4769: l_debug_mode := NVL(l_debug_mode, 'Y');
4770: IF P_PA_DEBUG_MODE = 'Y' THEN
4771: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
4772: END IF;
4766: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines');
4767: END IF;
4768: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
4769: l_debug_mode := NVL(l_debug_mode, 'Y');
4770: IF P_PA_DEBUG_MODE = 'Y' THEN
4771: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
4772: END IF;
4773: -- Checking for all valid input parametrs
4774:
4767: END IF;
4768: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
4769: l_debug_mode := NVL(l_debug_mode, 'Y');
4770: IF P_PA_DEBUG_MODE = 'Y' THEN
4771: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
4772: END IF;
4773: -- Checking for all valid input parametrs
4774:
4775: IF P_PA_DEBUG_MODE = 'Y' THEN
4771: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
4772: END IF;
4773: -- Checking for all valid input parametrs
4774:
4775: IF P_PA_DEBUG_MODE = 'Y' THEN
4776: pa_debug.g_err_stage := 'Checking for valid parameters:';
4777: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4778: END IF;
4779:
4772: END IF;
4773: -- Checking for all valid input parametrs
4774:
4775: IF P_PA_DEBUG_MODE = 'Y' THEN
4776: pa_debug.g_err_stage := 'Checking for valid parameters:';
4777: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4778: END IF;
4779:
4780: IF (p_source_plan_version_id IS NULL) OR
4773: -- Checking for all valid input parametrs
4774:
4775: IF P_PA_DEBUG_MODE = 'Y' THEN
4776: pa_debug.g_err_stage := 'Checking for valid parameters:';
4777: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4778: END IF;
4779:
4780: IF (p_source_plan_version_id IS NULL) OR
4781: (p_target_plan_version_id IS NULL)
4780: IF (p_source_plan_version_id IS NULL) OR
4781: (p_target_plan_version_id IS NULL)
4782: THEN
4783:
4784: IF P_PA_DEBUG_MODE = 'Y' THEN
4785: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
4786: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4787: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
4788: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4781: (p_target_plan_version_id IS NULL)
4782: THEN
4783:
4784: IF P_PA_DEBUG_MODE = 'Y' THEN
4785: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
4786: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4787: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
4788: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4789: END IF;
4782: THEN
4783:
4784: IF P_PA_DEBUG_MODE = 'Y' THEN
4785: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
4786: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4787: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
4788: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4789: END IF;
4790:
4783:
4784: IF P_PA_DEBUG_MODE = 'Y' THEN
4785: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
4786: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4787: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
4788: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4789: END IF;
4790:
4791: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
4784: IF P_PA_DEBUG_MODE = 'Y' THEN
4785: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
4786: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4787: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
4788: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
4789: END IF;
4790:
4791: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
4792: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
4794: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
4795:
4796: END IF;
4797:
4798: IF P_PA_DEBUG_MODE = 'Y' THEN
4799: pa_debug.g_err_stage := 'Parameter validation complete';
4800: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4801: END IF;
4802: /*
4795:
4796: END IF;
4797:
4798: IF P_PA_DEBUG_MODE = 'Y' THEN
4799: pa_debug.g_err_stage := 'Parameter validation complete';
4800: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4801: END IF;
4802: /*
4803: pa_debug.g_err_stage:='Source fin plan version id'||p_source_plan_version_id;
4796: END IF;
4797:
4798: IF P_PA_DEBUG_MODE = 'Y' THEN
4799: pa_debug.g_err_stage := 'Parameter validation complete';
4800: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4801: END IF;
4802: /*
4803: pa_debug.g_err_stage:='Source fin plan version id'||p_source_plan_version_id;
4804: IF P_PA_DEBUG_MODE = 'Y' THEN
4799: pa_debug.g_err_stage := 'Parameter validation complete';
4800: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4801: END IF;
4802: /*
4803: pa_debug.g_err_stage:='Source fin plan version id'||p_source_plan_version_id;
4804: IF P_PA_DEBUG_MODE = 'Y' THEN
4805: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4806: END IF;
4807: pa_debug.g_err_stage:='Target fin plan version id'||p_target_plan_version_id;
4800: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4801: END IF;
4802: /*
4803: pa_debug.g_err_stage:='Source fin plan version id'||p_source_plan_version_id;
4804: IF P_PA_DEBUG_MODE = 'Y' THEN
4805: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4806: END IF;
4807: pa_debug.g_err_stage:='Target fin plan version id'||p_target_plan_version_id;
4808: IF P_PA_DEBUG_MODE = 'Y' THEN
4801: END IF;
4802: /*
4803: pa_debug.g_err_stage:='Source fin plan version id'||p_source_plan_version_id;
4804: IF P_PA_DEBUG_MODE = 'Y' THEN
4805: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4806: END IF;
4807: pa_debug.g_err_stage:='Target fin plan version id'||p_target_plan_version_id;
4808: IF P_PA_DEBUG_MODE = 'Y' THEN
4809: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4803: pa_debug.g_err_stage:='Source fin plan version id'||p_source_plan_version_id;
4804: IF P_PA_DEBUG_MODE = 'Y' THEN
4805: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4806: END IF;
4807: pa_debug.g_err_stage:='Target fin plan version id'||p_target_plan_version_id;
4808: IF P_PA_DEBUG_MODE = 'Y' THEN
4809: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4810: END IF;
4811: */
4804: IF P_PA_DEBUG_MODE = 'Y' THEN
4805: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4806: END IF;
4807: pa_debug.g_err_stage:='Target fin plan version id'||p_target_plan_version_id;
4808: IF P_PA_DEBUG_MODE = 'Y' THEN
4809: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4810: END IF;
4811: */
4812: --make adj percentage zero if passed as null
4805: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4806: END IF;
4807: pa_debug.g_err_stage:='Target fin plan version id'||p_target_plan_version_id;
4808: IF P_PA_DEBUG_MODE = 'Y' THEN
4809: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4810: END IF;
4811: */
4812: --make adj percentage zero if passed as null
4813:
4812: --make adj percentage zero if passed as null
4813:
4814: l_adj_percentage := NVL(p_adj_percentage,0);
4815: /*
4816: pa_debug.g_err_stage:='Adj_percentage'||l_adj_percentage;
4817: IF P_PA_DEBUG_MODE = 'Y' THEN
4818: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4819: END IF;
4820: */
4813:
4814: l_adj_percentage := NVL(p_adj_percentage,0);
4815: /*
4816: pa_debug.g_err_stage:='Adj_percentage'||l_adj_percentage;
4817: IF P_PA_DEBUG_MODE = 'Y' THEN
4818: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4819: END IF;
4820: */
4821: -- Fetching the flags of target version using fin_plan_prefernce_code
4814: l_adj_percentage := NVL(p_adj_percentage,0);
4815: /*
4816: pa_debug.g_err_stage:='Adj_percentage'||l_adj_percentage;
4817: IF P_PA_DEBUG_MODE = 'Y' THEN
4818: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4819: END IF;
4820: */
4821: -- Fetching the flags of target version using fin_plan_prefernce_code
4822:
4820: */
4821: -- Fetching the flags of target version using fin_plan_prefernce_code
4822:
4823:
4824: IF P_PA_DEBUG_MODE = 'Y' THEN
4825: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
4826: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4827: END IF;
4828:
4821: -- Fetching the flags of target version using fin_plan_prefernce_code
4822:
4823:
4824: IF P_PA_DEBUG_MODE = 'Y' THEN
4825: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
4826: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4827: END IF;
4828:
4829: --Bug 4290043. Selected preference code for the target version
4822:
4823:
4824: IF P_PA_DEBUG_MODE = 'Y' THEN
4825: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
4826: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4827: END IF;
4828:
4829: --Bug 4290043. Selected preference code for the target version
4830: SELECT DECODE(fin_plan_preference_code -- l_revenue_flag
4839: ,l_target_pref_code
4840: FROM pa_proj_fp_options
4841: WHERE fin_plan_version_id=p_target_plan_version_id;
4842: /*
4843: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
4844: IF P_PA_DEBUG_MODE = 'Y' THEN
4845: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4846: END IF;
4847: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
4840: FROM pa_proj_fp_options
4841: WHERE fin_plan_version_id=p_target_plan_version_id;
4842: /*
4843: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
4844: IF P_PA_DEBUG_MODE = 'Y' THEN
4845: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4846: END IF;
4847: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
4848: IF P_PA_DEBUG_MODE = 'Y' THEN
4841: WHERE fin_plan_version_id=p_target_plan_version_id;
4842: /*
4843: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
4844: IF P_PA_DEBUG_MODE = 'Y' THEN
4845: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4846: END IF;
4847: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
4848: IF P_PA_DEBUG_MODE = 'Y' THEN
4849: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4843: pa_debug.g_err_stage:='l_revenue_flag ='||l_revenue_flag;
4844: IF P_PA_DEBUG_MODE = 'Y' THEN
4845: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4846: END IF;
4847: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
4848: IF P_PA_DEBUG_MODE = 'Y' THEN
4849: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4850: END IF;
4851: */
4844: IF P_PA_DEBUG_MODE = 'Y' THEN
4845: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4846: END IF;
4847: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
4848: IF P_PA_DEBUG_MODE = 'Y' THEN
4849: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4850: END IF;
4851: */
4852: -- Checking if source and target version period profiles match
4845: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4846: END IF;
4847: pa_debug.g_err_stage:='l_cost_flag ='||l_cost_flag;
4848: IF P_PA_DEBUG_MODE = 'Y' THEN
4849: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4850: END IF;
4851: */
4852: -- Checking if source and target version period profiles match
4853:
4853:
4854: /* FPB2: REVIEW */
4855:
4856:
4857: IF P_PA_DEBUG_MODE = 'Y' THEN
4858: pa_debug.g_err_stage:='Inserting budget_lines';
4859: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4860: END IF;
4861:
4854: /* FPB2: REVIEW */
4855:
4856:
4857: IF P_PA_DEBUG_MODE = 'Y' THEN
4858: pa_debug.g_err_stage:='Inserting budget_lines';
4859: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4860: END IF;
4861:
4862: -- Bug 3927244: Actuals need to be copied from forecast to forecast within the same project for FINPLAN versions
4855:
4856:
4857: IF P_PA_DEBUG_MODE = 'Y' THEN
4858: pa_debug.g_err_stage:='Inserting budget_lines';
4859: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
4860: END IF;
4861:
4862: -- Bug 3927244: Actuals need to be copied from forecast to forecast within the same project for FINPLAN versions
4863:
5131: AND pra.project_id = l_target_project_id; -- Bug 4493425.
5132:
5133: l_temp:=SQL%ROWCOUNT;
5134:
5135: IF P_PA_DEBUG_MODE = 'Y' THEN
5136: pa_debug.g_err_stage:='No. of Budget lines inserted '||l_temp;
5137: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5138: END IF;
5139:
5132:
5133: l_temp:=SQL%ROWCOUNT;
5134:
5135: IF P_PA_DEBUG_MODE = 'Y' THEN
5136: pa_debug.g_err_stage:='No. of Budget lines inserted '||l_temp;
5137: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5138: END IF;
5139:
5140: --Populate the pa_fp_bl_map_tmp table so that the MRC API can have the mapping readily defined.
5133: l_temp:=SQL%ROWCOUNT;
5134:
5135: IF P_PA_DEBUG_MODE = 'Y' THEN
5136: pa_debug.g_err_stage:='No. of Budget lines inserted '||l_temp;
5137: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5138: END IF;
5139:
5140: --Populate the pa_fp_bl_map_tmp table so that the MRC API can have the mapping readily defined.
5141: --The logic of inserting into pa_budget_lines using pa_fp_bl_map_tmp is removed for bug 4224703
5159: AND pblt.start_date=pbls.start_date
5160: AND pblt.txn_currency_code=pbls.txn_currency_code;
5161: l_temp:=SQL%ROWCOUNT;
5162:
5163: IF P_PA_DEBUG_MODE = 'Y' THEN
5164: pa_debug.g_err_stage:='No. of mrc mappling lines inserted '||l_temp;
5165: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5166: END IF;
5167:
5160: AND pblt.txn_currency_code=pbls.txn_currency_code;
5161: l_temp:=SQL%ROWCOUNT;
5162:
5163: IF P_PA_DEBUG_MODE = 'Y' THEN
5164: pa_debug.g_err_stage:='No. of mrc mappling lines inserted '||l_temp;
5165: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5166: END IF;
5167:
5168: END IF;
5161: l_temp:=SQL%ROWCOUNT;
5162:
5163: IF P_PA_DEBUG_MODE = 'Y' THEN
5164: pa_debug.g_err_stage:='No. of mrc mappling lines inserted '||l_temp;
5165: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5166: END IF;
5167:
5168: END IF;
5169:
5179: ,x_msg_count => l_msg_count
5180: ,x_msg_data => l_msg_data);
5181:
5182: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5183: IF P_PA_debug_mode = 'Y' THEN
5184: pa_debug.g_err_stage:= 'Error in PA_FP_MULTI_CURRENCY_PKG.Round_Budget_Line_Amounts';
5185: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5186: END IF;
5187: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5180: ,x_msg_data => l_msg_data);
5181:
5182: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5183: IF P_PA_debug_mode = 'Y' THEN
5184: pa_debug.g_err_stage:= 'Error in PA_FP_MULTI_CURRENCY_PKG.Round_Budget_Line_Amounts';
5185: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5186: END IF;
5187: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5188: END IF;
5181:
5182: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5183: IF P_PA_debug_mode = 'Y' THEN
5184: pa_debug.g_err_stage:= 'Error in PA_FP_MULTI_CURRENCY_PKG.Round_Budget_Line_Amounts';
5185: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5186: END IF;
5187: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5188: END IF;
5189: END IF;
5206: x_msg_count => l_msg_count,
5207: x_msg_data => l_msg_data);
5208:
5209: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5210: IF P_PA_debug_mode = 'Y' THEN
5211: pa_debug.g_err_stage:= 'Error in derv_missing_amts_chk_neg_qty';
5212: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5213: END IF;
5214: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5207: x_msg_data => l_msg_data);
5208:
5209: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5210: IF P_PA_debug_mode = 'Y' THEN
5211: pa_debug.g_err_stage:= 'Error in derv_missing_amts_chk_neg_qty';
5212: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5213: END IF;
5214: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5215:
5208:
5209: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
5210: IF P_PA_debug_mode = 'Y' THEN
5211: pa_debug.g_err_stage:= 'Error in derv_missing_amts_chk_neg_qty';
5212: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5213: END IF;
5214: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5215:
5216: END IF;
5216: END IF;
5217:
5218: END IF;--IF p_derv_rates_missing_amts_flag = 'Y' THEN
5219:
5220: IF P_PA_DEBUG_MODE = 'Y' THEN
5221: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines';
5222: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5223: pa_debug.reset_err_stack; -- bug:- 2815593
5224: END IF;
5217:
5218: END IF;--IF p_derv_rates_missing_amts_flag = 'Y' THEN
5219:
5220: IF P_PA_DEBUG_MODE = 'Y' THEN
5221: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines';
5222: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5223: pa_debug.reset_err_stack; -- bug:- 2815593
5224: END IF;
5225: EXCEPTION
5218: END IF;--IF p_derv_rates_missing_amts_flag = 'Y' THEN
5219:
5220: IF P_PA_DEBUG_MODE = 'Y' THEN
5221: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines';
5222: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5223: pa_debug.reset_err_stack; -- bug:- 2815593
5224: END IF;
5225: EXCEPTION
5226:
5219:
5220: IF P_PA_DEBUG_MODE = 'Y' THEN
5221: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines';
5222: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5223: pa_debug.reset_err_stack; -- bug:- 2815593
5224: END IF;
5225: EXCEPTION
5226:
5227: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
5240: x_msg_count := l_msg_count;
5241: END IF;
5242: x_return_status := FND_API.G_RET_STS_ERROR;
5243:
5244: IF P_PA_DEBUG_MODE = 'Y' THEN
5245: pa_debug.g_err_stage:='Invalid arguments passed';
5246: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5247: pa_debug.reset_err_stack;
5248: END IF;
5241: END IF;
5242: x_return_status := FND_API.G_RET_STS_ERROR;
5243:
5244: IF P_PA_DEBUG_MODE = 'Y' THEN
5245: pa_debug.g_err_stage:='Invalid arguments passed';
5246: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5247: pa_debug.reset_err_stack;
5248: END IF;
5249: RAISE;
5242: x_return_status := FND_API.G_RET_STS_ERROR;
5243:
5244: IF P_PA_DEBUG_MODE = 'Y' THEN
5245: pa_debug.g_err_stage:='Invalid arguments passed';
5246: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5247: pa_debug.reset_err_stack;
5248: END IF;
5249: RAISE;
5250:
5243:
5244: IF P_PA_DEBUG_MODE = 'Y' THEN
5245: pa_debug.g_err_stage:='Invalid arguments passed';
5246: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5247: pa_debug.reset_err_stack;
5248: END IF;
5249: RAISE;
5250:
5251: WHEN Others THEN
5254: x_msg_data := SQLERRM;
5255: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
5256: ,p_procedure_name => 'COPY_BUDGET_LINES');
5257:
5258: IF P_PA_DEBUG_MODE = 'Y' THEN
5259: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
5260: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
5261: pa_debug.reset_err_stack;
5262: END IF;
5255: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
5256: ,p_procedure_name => 'COPY_BUDGET_LINES');
5257:
5258: IF P_PA_DEBUG_MODE = 'Y' THEN
5259: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
5260: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
5261: pa_debug.reset_err_stack;
5262: END IF;
5263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5256: ,p_procedure_name => 'COPY_BUDGET_LINES');
5257:
5258: IF P_PA_DEBUG_MODE = 'Y' THEN
5259: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
5260: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
5261: pa_debug.reset_err_stack;
5262: END IF;
5263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5264: END Copy_Budget_Lines;
5257:
5258: IF P_PA_DEBUG_MODE = 'Y' THEN
5259: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
5260: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
5261: pa_debug.reset_err_stack;
5262: END IF;
5263: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5264: END Copy_Budget_Lines;
5265:
5292: BEGIN
5293:
5294: x_msg_count := 0;
5295: x_return_status := FND_API.G_RET_STS_SUCCESS;
5296: IF P_PA_DEBUG_MODE = 'Y' THEN
5297: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Periods_Denorm');
5298: END IF;
5299: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
5300: l_debug_mode := NVL(l_debug_mode, 'Y');
5293:
5294: x_msg_count := 0;
5295: x_return_status := FND_API.G_RET_STS_SUCCESS;
5296: IF P_PA_DEBUG_MODE = 'Y' THEN
5297: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Periods_Denorm');
5298: END IF;
5299: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
5300: l_debug_mode := NVL(l_debug_mode, 'Y');
5301: IF P_PA_DEBUG_MODE = 'Y' THEN
5295: x_return_status := FND_API.G_RET_STS_SUCCESS;
5296: IF P_PA_DEBUG_MODE = 'Y' THEN
5297: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Periods_Denorm');
5298: END IF;
5299: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
5300: l_debug_mode := NVL(l_debug_mode, 'Y');
5301: IF P_PA_DEBUG_MODE = 'Y' THEN
5302: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
5303: END IF;
5297: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Periods_Denorm');
5298: END IF;
5299: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
5300: l_debug_mode := NVL(l_debug_mode, 'Y');
5301: IF P_PA_DEBUG_MODE = 'Y' THEN
5302: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
5303: END IF;
5304: -- Checking for all valid input parametrs
5305:
5298: END IF;
5299: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
5300: l_debug_mode := NVL(l_debug_mode, 'Y');
5301: IF P_PA_DEBUG_MODE = 'Y' THEN
5302: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
5303: END IF;
5304: -- Checking for all valid input parametrs
5305:
5306:
5303: END IF;
5304: -- Checking for all valid input parametrs
5305:
5306:
5307: IF P_PA_DEBUG_MODE = 'Y' THEN
5308: pa_debug.g_err_stage := 'Checking for valid parameters:';
5309: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5310: END IF;
5311:
5304: -- Checking for all valid input parametrs
5305:
5306:
5307: IF P_PA_DEBUG_MODE = 'Y' THEN
5308: pa_debug.g_err_stage := 'Checking for valid parameters:';
5309: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5310: END IF;
5311:
5312: IF (p_source_plan_version_id IS NULL) OR
5305:
5306:
5307: IF P_PA_DEBUG_MODE = 'Y' THEN
5308: pa_debug.g_err_stage := 'Checking for valid parameters:';
5309: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5310: END IF;
5311:
5312: IF (p_source_plan_version_id IS NULL) OR
5313: (p_target_plan_version_id IS NULL) OR
5314: (p_calling_module IS NULL)
5315: THEN
5316:
5317:
5318: IF P_PA_DEBUG_MODE = 'Y' THEN
5319: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5320: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5321: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5322: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5315: THEN
5316:
5317:
5318: IF P_PA_DEBUG_MODE = 'Y' THEN
5319: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5320: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5321: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5322: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5323: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5316:
5317:
5318: IF P_PA_DEBUG_MODE = 'Y' THEN
5319: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5320: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5321: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5322: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5323: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5324: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5317:
5318: IF P_PA_DEBUG_MODE = 'Y' THEN
5319: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5320: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5321: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5322: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5323: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5324: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5325: END IF;
5318: IF P_PA_DEBUG_MODE = 'Y' THEN
5319: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5320: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5321: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5322: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5323: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5324: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5325: END IF;
5326:
5319: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5320: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5321: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5322: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5323: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5324: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5325: END IF;
5326:
5327: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
5320: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5321: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5322: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5323: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5324: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5325: END IF;
5326:
5327: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
5328: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
5330: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
5331:
5332: END IF;
5333:
5334: IF P_PA_DEBUG_MODE = 'Y' THEN
5335: pa_debug.g_err_stage := 'Parameter validation complete';
5336: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5337: END IF;
5338: /*
5331:
5332: END IF;
5333:
5334: IF P_PA_DEBUG_MODE = 'Y' THEN
5335: pa_debug.g_err_stage := 'Parameter validation complete';
5336: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5337: END IF;
5338: /*
5339: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5332: END IF;
5333:
5334: IF P_PA_DEBUG_MODE = 'Y' THEN
5335: pa_debug.g_err_stage := 'Parameter validation complete';
5336: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5337: END IF;
5338: /*
5339: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5340: IF P_PA_DEBUG_MODE = 'Y' THEN
5335: pa_debug.g_err_stage := 'Parameter validation complete';
5336: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5337: END IF;
5338: /*
5339: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5340: IF P_PA_DEBUG_MODE = 'Y' THEN
5341: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5342: END IF;
5343: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5336: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5337: END IF;
5338: /*
5339: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5340: IF P_PA_DEBUG_MODE = 'Y' THEN
5341: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5342: END IF;
5343: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5344: IF P_PA_DEBUG_MODE = 'Y' THEN
5337: END IF;
5338: /*
5339: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5340: IF P_PA_DEBUG_MODE = 'Y' THEN
5341: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5342: END IF;
5343: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5344: IF P_PA_DEBUG_MODE = 'Y' THEN
5345: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5339: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
5340: IF P_PA_DEBUG_MODE = 'Y' THEN
5341: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5342: END IF;
5343: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5344: IF P_PA_DEBUG_MODE = 'Y' THEN
5345: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5346: END IF;
5347: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5340: IF P_PA_DEBUG_MODE = 'Y' THEN
5341: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5342: END IF;
5343: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5344: IF P_PA_DEBUG_MODE = 'Y' THEN
5345: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5346: END IF;
5347: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5348: IF P_PA_DEBUG_MODE = 'Y' THEN
5341: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5342: END IF;
5343: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5344: IF P_PA_DEBUG_MODE = 'Y' THEN
5345: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5346: END IF;
5347: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5348: IF P_PA_DEBUG_MODE = 'Y' THEN
5349: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5343: pa_debug.g_err_stage := 'Target_plan = '||p_target_plan_version_id;
5344: IF P_PA_DEBUG_MODE = 'Y' THEN
5345: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5346: END IF;
5347: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5348: IF P_PA_DEBUG_MODE = 'Y' THEN
5349: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5350: END IF;
5351: */
5344: IF P_PA_DEBUG_MODE = 'Y' THEN
5345: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5346: END IF;
5347: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5348: IF P_PA_DEBUG_MODE = 'Y' THEN
5349: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5350: END IF;
5351: */
5352: -- Evaluating which records are to be copied using amount type code of
5345: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5346: END IF;
5347: pa_debug.g_err_stage := 'Calling_module = '||p_calling_module;
5348: IF P_PA_DEBUG_MODE = 'Y' THEN
5349: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5350: END IF;
5351: */
5352: -- Evaluating which records are to be copied using amount type code of
5353: -- pa_proj_periods_denorm and fin paln preference code of the target version
5351: */
5352: -- Evaluating which records are to be copied using amount type code of
5353: -- pa_proj_periods_denorm and fin paln preference code of the target version
5354:
5355: IF P_PA_DEBUG_MODE = 'Y' THEN
5356: pa_debug.g_err_stage:='Evaluating which records are to be copied';
5357: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5358: END IF;
5359:
5352: -- Evaluating which records are to be copied using amount type code of
5353: -- pa_proj_periods_denorm and fin paln preference code of the target version
5354:
5355: IF P_PA_DEBUG_MODE = 'Y' THEN
5356: pa_debug.g_err_stage:='Evaluating which records are to be copied';
5357: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5358: END IF;
5359:
5360: SELECT DECODE(fin_plan_preference_code
5353: -- pa_proj_periods_denorm and fin paln preference code of the target version
5354:
5355: IF P_PA_DEBUG_MODE = 'Y' THEN
5356: pa_debug.g_err_stage:='Evaluating which records are to be copied';
5357: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5358: END IF;
5359:
5360: SELECT DECODE(fin_plan_preference_code
5361: ,PA_FP_CONSTANTS_PKG.G_PREF_COST_ONLY ,PA_FP_CONSTANTS_PKG.G_ELEMENT_TYPE_REVENUE
5366: ,l_target_project_id
5367: FROM pa_proj_fp_options
5368: WHERE fin_plan_version_id=p_target_plan_version_id;
5369: /*
5370: pa_debug.g_err_stage:='l_ignore_amount_type = '||l_ignore_amount_type;
5371: IF P_PA_DEBUG_MODE = 'Y' THEN
5372: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5373: END IF;
5374: pa_debug.g_err_stage := 'l_target_project_id = '||l_target_project_id;
5367: FROM pa_proj_fp_options
5368: WHERE fin_plan_version_id=p_target_plan_version_id;
5369: /*
5370: pa_debug.g_err_stage:='l_ignore_amount_type = '||l_ignore_amount_type;
5371: IF P_PA_DEBUG_MODE = 'Y' THEN
5372: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5373: END IF;
5374: pa_debug.g_err_stage := 'l_target_project_id = '||l_target_project_id;
5375: IF P_PA_DEBUG_MODE = 'Y' THEN
5368: WHERE fin_plan_version_id=p_target_plan_version_id;
5369: /*
5370: pa_debug.g_err_stage:='l_ignore_amount_type = '||l_ignore_amount_type;
5371: IF P_PA_DEBUG_MODE = 'Y' THEN
5372: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5373: END IF;
5374: pa_debug.g_err_stage := 'l_target_project_id = '||l_target_project_id;
5375: IF P_PA_DEBUG_MODE = 'Y' THEN
5376: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5370: pa_debug.g_err_stage:='l_ignore_amount_type = '||l_ignore_amount_type;
5371: IF P_PA_DEBUG_MODE = 'Y' THEN
5372: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5373: END IF;
5374: pa_debug.g_err_stage := 'l_target_project_id = '||l_target_project_id;
5375: IF P_PA_DEBUG_MODE = 'Y' THEN
5376: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5377: END IF;
5378: */
5371: IF P_PA_DEBUG_MODE = 'Y' THEN
5372: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5373: END IF;
5374: pa_debug.g_err_stage := 'l_target_project_id = '||l_target_project_id;
5375: IF P_PA_DEBUG_MODE = 'Y' THEN
5376: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5377: END IF;
5378: */
5379: INSERT INTO PA_PROJ_PERIODS_DENORM(
5372: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5373: END IF;
5374: pa_debug.g_err_stage := 'l_target_project_id = '||l_target_project_id;
5375: IF P_PA_DEBUG_MODE = 'Y' THEN
5376: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5377: END IF;
5378: */
5379: INSERT INTO PA_PROJ_PERIODS_DENORM(
5380: budget_version_id
5534: AND pppd.resource_assignment_id = pfrmt.source_res_assignment_id
5535: AND pppd.object_type_code = PA_FP_CONSTANTS_PKG.G_OBJECT_TYPE_RES_ASSIGNMENT
5536: AND pppd.amount_type_code <> l_ignore_amount_type;
5537:
5538: IF P_PA_DEBUG_MODE = 'Y' THEN
5539: pa_debug.g_err_stage:='Exiting Copy_Periods_Denorm';
5540: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5541: pa_debug.reset_err_stack; --bug:- 2815593
5542: END IF;
5535: AND pppd.object_type_code = PA_FP_CONSTANTS_PKG.G_OBJECT_TYPE_RES_ASSIGNMENT
5536: AND pppd.amount_type_code <> l_ignore_amount_type;
5537:
5538: IF P_PA_DEBUG_MODE = 'Y' THEN
5539: pa_debug.g_err_stage:='Exiting Copy_Periods_Denorm';
5540: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5541: pa_debug.reset_err_stack; --bug:- 2815593
5542: END IF;
5543: EXCEPTION
5536: AND pppd.amount_type_code <> l_ignore_amount_type;
5537:
5538: IF P_PA_DEBUG_MODE = 'Y' THEN
5539: pa_debug.g_err_stage:='Exiting Copy_Periods_Denorm';
5540: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5541: pa_debug.reset_err_stack; --bug:- 2815593
5542: END IF;
5543: EXCEPTION
5544:
5537:
5538: IF P_PA_DEBUG_MODE = 'Y' THEN
5539: pa_debug.g_err_stage:='Exiting Copy_Periods_Denorm';
5540: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
5541: pa_debug.reset_err_stack; --bug:- 2815593
5542: END IF;
5543: EXCEPTION
5544:
5545: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
5558: x_msg_count := l_msg_count;
5559: END IF;
5560: x_return_status := FND_API.G_RET_STS_ERROR;
5561:
5562: IF P_PA_DEBUG_MODE = 'Y' THEN
5563: pa_debug.g_err_stage:='Invalid arguments passed';
5564: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5565: pa_debug.reset_err_stack;
5566: END IF;
5559: END IF;
5560: x_return_status := FND_API.G_RET_STS_ERROR;
5561:
5562: IF P_PA_DEBUG_MODE = 'Y' THEN
5563: pa_debug.g_err_stage:='Invalid arguments passed';
5564: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5565: pa_debug.reset_err_stack;
5566: END IF;
5567: RAISE;
5560: x_return_status := FND_API.G_RET_STS_ERROR;
5561:
5562: IF P_PA_DEBUG_MODE = 'Y' THEN
5563: pa_debug.g_err_stage:='Invalid arguments passed';
5564: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5565: pa_debug.reset_err_stack;
5566: END IF;
5567: RAISE;
5568:
5561:
5562: IF P_PA_DEBUG_MODE = 'Y' THEN
5563: pa_debug.g_err_stage:='Invalid arguments passed';
5564: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
5565: pa_debug.reset_err_stack;
5566: END IF;
5567: RAISE;
5568:
5569: WHEN Others THEN
5572: x_msg_data := SQLERRM;
5573: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
5574: ,p_procedure_name => 'Copy_Periods_Denorm');
5575:
5576: IF P_PA_DEBUG_MODE = 'Y' THEN
5577: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
5578: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
5579: pa_debug.reset_err_stack;
5580: END IF;
5573: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
5574: ,p_procedure_name => 'Copy_Periods_Denorm');
5575:
5576: IF P_PA_DEBUG_MODE = 'Y' THEN
5577: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
5578: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
5579: pa_debug.reset_err_stack;
5580: END IF;
5581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5574: ,p_procedure_name => 'Copy_Periods_Denorm');
5575:
5576: IF P_PA_DEBUG_MODE = 'Y' THEN
5577: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
5578: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
5579: pa_debug.reset_err_stack;
5580: END IF;
5581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5582:
5575:
5576: IF P_PA_DEBUG_MODE = 'Y' THEN
5577: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
5578: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
5579: pa_debug.reset_err_stack;
5580: END IF;
5581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5582:
5583: END Copy_Periods_Denorm;
6090: FND_MSG_PUB.INITIALIZE;
6091: x_msg_count := 0;
6092: x_return_status := FND_API.G_RET_STS_SUCCESS;
6093:
6094: IF P_PA_DEBUG_MODE = 'Y' THEN
6095: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Finplans_From_Project');
6096: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
6097: -- Check if source project id is NULL,if so throw an error message
6098: pa_debug.g_err_stage := 'Checking for valid parameters:';
6091: x_msg_count := 0;
6092: x_return_status := FND_API.G_RET_STS_SUCCESS;
6093:
6094: IF P_PA_DEBUG_MODE = 'Y' THEN
6095: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Finplans_From_Project');
6096: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
6097: -- Check if source project id is NULL,if so throw an error message
6098: pa_debug.g_err_stage := 'Checking for valid parameters:';
6099: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6092: x_return_status := FND_API.G_RET_STS_SUCCESS;
6093:
6094: IF P_PA_DEBUG_MODE = 'Y' THEN
6095: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Finplans_From_Project');
6096: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
6097: -- Check if source project id is NULL,if so throw an error message
6098: pa_debug.g_err_stage := 'Checking for valid parameters:';
6099: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6100: END IF;
6094: IF P_PA_DEBUG_MODE = 'Y' THEN
6095: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Finplans_From_Project');
6096: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
6097: -- Check if source project id is NULL,if so throw an error message
6098: pa_debug.g_err_stage := 'Checking for valid parameters:';
6099: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6100: END IF;
6101:
6102: IF (p_source_project_id IS NULL) OR
6095: pa_debug.init_err_stack('PA_FP_COPY_FROM_PKG.Copy_Finplans_From_Project');
6096: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
6097: -- Check if source project id is NULL,if so throw an error message
6098: pa_debug.g_err_stage := 'Checking for valid parameters:';
6099: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6100: END IF;
6101:
6102: IF (p_source_project_id IS NULL) OR
6103: (p_target_project_id IS NULL) OR
6103: (p_target_project_id IS NULL) OR
6104: (p_copy_version_and_elements IS NULL)
6105: THEN
6106:
6107: IF P_PA_DEBUG_MODE = 'Y' THEN
6108: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6109: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6110: pa_debug.g_err_stage := 'Target_project='||p_target_project_id;
6111: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6104: (p_copy_version_and_elements IS NULL)
6105: THEN
6106:
6107: IF P_PA_DEBUG_MODE = 'Y' THEN
6108: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6109: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6110: pa_debug.g_err_stage := 'Target_project='||p_target_project_id;
6111: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6112: pa_debug.g_err_stage := 'p_copy_version_and_elements='||p_copy_version_and_elements;
6105: THEN
6106:
6107: IF P_PA_DEBUG_MODE = 'Y' THEN
6108: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6109: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6110: pa_debug.g_err_stage := 'Target_project='||p_target_project_id;
6111: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6112: pa_debug.g_err_stage := 'p_copy_version_and_elements='||p_copy_version_and_elements;
6113: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6106:
6107: IF P_PA_DEBUG_MODE = 'Y' THEN
6108: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6109: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6110: pa_debug.g_err_stage := 'Target_project='||p_target_project_id;
6111: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6112: pa_debug.g_err_stage := 'p_copy_version_and_elements='||p_copy_version_and_elements;
6113: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6114: END IF;
6107: IF P_PA_DEBUG_MODE = 'Y' THEN
6108: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6109: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6110: pa_debug.g_err_stage := 'Target_project='||p_target_project_id;
6111: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6112: pa_debug.g_err_stage := 'p_copy_version_and_elements='||p_copy_version_and_elements;
6113: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6114: END IF;
6115:
6108: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6109: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6110: pa_debug.g_err_stage := 'Target_project='||p_target_project_id;
6111: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6112: pa_debug.g_err_stage := 'p_copy_version_and_elements='||p_copy_version_and_elements;
6113: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6114: END IF;
6115:
6116: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
6109: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6110: pa_debug.g_err_stage := 'Target_project='||p_target_project_id;
6111: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6112: pa_debug.g_err_stage := 'p_copy_version_and_elements='||p_copy_version_and_elements;
6113: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6114: END IF;
6115:
6116: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
6117: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
6120: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6121:
6122: END IF;
6123:
6124: IF P_PA_DEBUG_MODE = 'Y' THEN
6125: pa_debug.g_err_stage := 'Parameter validation complete';
6126: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6127: END IF;
6128:
6121:
6122: END IF;
6123:
6124: IF P_PA_DEBUG_MODE = 'Y' THEN
6125: pa_debug.g_err_stage := 'Parameter validation complete';
6126: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6127: END IF;
6128:
6129: --IF shift_days i/p is NULL then make it zero.
6122: END IF;
6123:
6124: IF P_PA_DEBUG_MODE = 'Y' THEN
6125: pa_debug.g_err_stage := 'Parameter validation complete';
6126: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6127: END IF;
6128:
6129: --IF shift_days i/p is NULL then make it zero.
6130:
6134: l_struct_elem_version_id := PA_PROJECT_STRUCTURE_UTILS.GET_FIN_STRUC_VER_ID(p_project_id => p_target_project_id );
6135:
6136: --Checking if source project is template
6137:
6138: IF P_PA_DEBUG_MODE = 'Y' THEN
6139: pa_debug.g_err_stage := 'Fetching source project template flag';
6140: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6141: END IF;
6142:
6135:
6136: --Checking if source project is template
6137:
6138: IF P_PA_DEBUG_MODE = 'Y' THEN
6139: pa_debug.g_err_stage := 'Fetching source project template flag';
6140: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6141: END IF;
6142:
6143: SELECT template_flag
6136: --Checking if source project is template
6137:
6138: IF P_PA_DEBUG_MODE = 'Y' THEN
6139: pa_debug.g_err_stage := 'Fetching source project template flag';
6140: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6141: END IF;
6142:
6143: SELECT template_flag
6144: INTO l_source_template_flag
6147:
6148: --Fetch project_level_funding_flag for target project to
6149: --baseline it or not
6150:
6151: IF P_PA_DEBUG_MODE = 'Y' THEN
6152: pa_debug.g_err_stage := 'Fetching target funding flag';
6153: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6154: END IF;
6155:
6148: --Fetch project_level_funding_flag for target project to
6149: --baseline it or not
6150:
6151: IF P_PA_DEBUG_MODE = 'Y' THEN
6152: pa_debug.g_err_stage := 'Fetching target funding flag';
6153: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6154: END IF;
6155:
6156: /* 2616032: Modified the way the project level funding flag is got.
6149: --baseline it or not
6150:
6151: IF P_PA_DEBUG_MODE = 'Y' THEN
6152: pa_debug.g_err_stage := 'Fetching target funding flag';
6153: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6154: END IF;
6155:
6156: /* 2616032: Modified the way the project level funding flag is got.
6157: This flag indicates if funding exists for the Target Project. */
6192: IF l_err_code <> 0 THEN
6193:
6194: /* Bug# 2636723 - Error messages printed and "Raised" and not "Returned" */
6195:
6196: IF P_PA_DEBUG_MODE = 'Y' THEN
6197: pa_debug.g_err_stage := 'Err code returned by copy_budgets_from_project api is ' || TO_CHAR(l_err_code);
6198: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6199: pa_debug.g_err_stage := 'Err stage returned by copy_budgets_from_project api is ' || l_err_stage;
6200: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6193:
6194: /* Bug# 2636723 - Error messages printed and "Raised" and not "Returned" */
6195:
6196: IF P_PA_DEBUG_MODE = 'Y' THEN
6197: pa_debug.g_err_stage := 'Err code returned by copy_budgets_from_project api is ' || TO_CHAR(l_err_code);
6198: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6199: pa_debug.g_err_stage := 'Err stage returned by copy_budgets_from_project api is ' || l_err_stage;
6200: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6201: pa_debug.g_err_stage := 'Err stack returned by copy_budgets_from_project api is ' || l_err_stack;
6194: /* Bug# 2636723 - Error messages printed and "Raised" and not "Returned" */
6195:
6196: IF P_PA_DEBUG_MODE = 'Y' THEN
6197: pa_debug.g_err_stage := 'Err code returned by copy_budgets_from_project api is ' || TO_CHAR(l_err_code);
6198: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6199: pa_debug.g_err_stage := 'Err stage returned by copy_budgets_from_project api is ' || l_err_stage;
6200: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6201: pa_debug.g_err_stage := 'Err stack returned by copy_budgets_from_project api is ' || l_err_stack;
6202: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6195:
6196: IF P_PA_DEBUG_MODE = 'Y' THEN
6197: pa_debug.g_err_stage := 'Err code returned by copy_budgets_from_project api is ' || TO_CHAR(l_err_code);
6198: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6199: pa_debug.g_err_stage := 'Err stage returned by copy_budgets_from_project api is ' || l_err_stage;
6200: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6201: pa_debug.g_err_stage := 'Err stack returned by copy_budgets_from_project api is ' || l_err_stack;
6202: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6203: END IF;
6196: IF P_PA_DEBUG_MODE = 'Y' THEN
6197: pa_debug.g_err_stage := 'Err code returned by copy_budgets_from_project api is ' || TO_CHAR(l_err_code);
6198: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6199: pa_debug.g_err_stage := 'Err stage returned by copy_budgets_from_project api is ' || l_err_stage;
6200: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6201: pa_debug.g_err_stage := 'Err stack returned by copy_budgets_from_project api is ' || l_err_stack;
6202: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6203: END IF;
6204:
6197: pa_debug.g_err_stage := 'Err code returned by copy_budgets_from_project api is ' || TO_CHAR(l_err_code);
6198: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6199: pa_debug.g_err_stage := 'Err stage returned by copy_budgets_from_project api is ' || l_err_stage;
6200: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6201: pa_debug.g_err_stage := 'Err stack returned by copy_budgets_from_project api is ' || l_err_stack;
6202: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6203: END IF;
6204:
6205: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6198: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6199: pa_debug.g_err_stage := 'Err stage returned by copy_budgets_from_project api is ' || l_err_stage;
6200: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6201: pa_debug.g_err_stage := 'Err stack returned by copy_budgets_from_project api is ' || l_err_stack;
6202: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6203: END IF;
6204:
6205: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6206:
6214: --Fetch all the fp options ids to be copied from source project to
6215: --target into a plsql table.
6216: --For this call get_fp_options_to_be_copied api.
6217:
6218: IF P_PA_DEBUG_MODE = 'Y' THEN
6219: pa_debug.g_err_stage := 'Calling Get_Fp_Options_To_Be_Copied api';
6220: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6221: END IF;
6222:
6215: --target into a plsql table.
6216: --For this call get_fp_options_to_be_copied api.
6217:
6218: IF P_PA_DEBUG_MODE = 'Y' THEN
6219: pa_debug.g_err_stage := 'Calling Get_Fp_Options_To_Be_Copied api';
6220: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6221: END IF;
6222:
6223: PA_FP_COPY_FROM_PKG.Get_Fp_Options_To_Be_Copied(
6216: --For this call get_fp_options_to_be_copied api.
6217:
6218: IF P_PA_DEBUG_MODE = 'Y' THEN
6219: pa_debug.g_err_stage := 'Calling Get_Fp_Options_To_Be_Copied api';
6220: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6221: END IF;
6222:
6223: PA_FP_COPY_FROM_PKG.Get_Fp_Options_To_Be_Copied(
6224: p_source_project_id => p_source_project_id
6245: l_target_proj_fp_options_id := NULL;
6246:
6247: --Fetch option level code of the options_id
6248:
6249: IF P_PA_DEBUG_MODE = 'Y' THEN
6250: pa_debug.g_err_stage := 'Fetching option level code ';
6251: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6252: END IF;
6253:
6246:
6247: --Fetch option level code of the options_id
6248:
6249: IF P_PA_DEBUG_MODE = 'Y' THEN
6250: pa_debug.g_err_stage := 'Fetching option level code ';
6251: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6252: END IF;
6253:
6254: SELECT fin_plan_option_level_code
6247: --Fetch option level code of the options_id
6248:
6249: IF P_PA_DEBUG_MODE = 'Y' THEN
6250: pa_debug.g_err_stage := 'Fetching option level code ';
6251: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6252: END IF;
6253:
6254: SELECT fin_plan_option_level_code
6255: ,fin_plan_version_id
6263: ,l_plan_in_multi_curr_flag
6264: FROM pa_proj_fp_options
6265: WHERE proj_fp_options_id = l_proj_fp_options_id_tbl(l_index);
6266:
6267: IF P_PA_DEBUG_MODE = 'Y' THEN
6268: pa_debug.g_err_stage := 'Option level code = '||l_fp_option_level_code;
6269: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6270: END IF;
6271:
6264: FROM pa_proj_fp_options
6265: WHERE proj_fp_options_id = l_proj_fp_options_id_tbl(l_index);
6266:
6267: IF P_PA_DEBUG_MODE = 'Y' THEN
6268: pa_debug.g_err_stage := 'Option level code = '||l_fp_option_level_code;
6269: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6270: END IF;
6271:
6272:
6265: WHERE proj_fp_options_id = l_proj_fp_options_id_tbl(l_index);
6266:
6267: IF P_PA_DEBUG_MODE = 'Y' THEN
6268: pa_debug.g_err_stage := 'Option level code = '||l_fp_option_level_code;
6269: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6270: END IF;
6271:
6272:
6273: --Copy the budget version if option level code is plan version
6289: ( NVL(p_agreement_amount,-1) > 0 and nvl(l_ar_exists,'N') = 'Y' and NVL(l_baseline_funding_flag,'N') = 'N')
6290: THEN
6291: /* Code addition for Bug 2986930 ends */
6292:
6293: IF P_PA_DEBUG_MODE = 'Y' THEN
6294: pa_debug.g_err_stage := 'Calling Copy_Budget_Version';
6295: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6296: END IF;
6297:
6290: THEN
6291: /* Code addition for Bug 2986930 ends */
6292:
6293: IF P_PA_DEBUG_MODE = 'Y' THEN
6294: pa_debug.g_err_stage := 'Calling Copy_Budget_Version';
6295: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6296: END IF;
6297:
6298: l_target_version_id := NULL;
6291: /* Code addition for Bug 2986930 ends */
6292:
6293: IF P_PA_DEBUG_MODE = 'Y' THEN
6294: pa_debug.g_err_stage := 'Calling Copy_Budget_Version';
6295: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6296: END IF;
6297:
6298: l_target_version_id := NULL;
6299:
6310: ,x_return_status => l_return_status
6311: ,x_msg_count => l_msg_count
6312: ,x_msg_data => l_msg_data );
6313:
6314: IF P_PA_DEBUG_MODE = 'Y' THEN
6315: pa_debug.g_err_stage := 'l_target_version_id = '||l_target_version_id;
6316: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6317: END IF;
6318:
6311: ,x_msg_count => l_msg_count
6312: ,x_msg_data => l_msg_data );
6313:
6314: IF P_PA_DEBUG_MODE = 'Y' THEN
6315: pa_debug.g_err_stage := 'l_target_version_id = '||l_target_version_id;
6316: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6317: END IF;
6318:
6319: END IF;/* Added for bug 2986930 */
6312: ,x_msg_data => l_msg_data );
6313:
6314: IF P_PA_DEBUG_MODE = 'Y' THEN
6315: pa_debug.g_err_stage := 'l_target_version_id = '||l_target_version_id;
6316: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6317: END IF;
6318:
6319: END IF;/* Added for bug 2986930 */
6320: END IF;
6321:
6322: IF l_fp_option_level_code <> PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_VERSION THEN
6323: --Create equivalent fp option in pa_proj_fp_options for target
6324:
6325: IF P_PA_DEBUG_MODE = 'Y' THEN
6326: pa_debug.g_err_stage := 'Calling Create_Fp_Option';
6327: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6328: END IF;
6329:
6322: IF l_fp_option_level_code <> PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_VERSION THEN
6323: --Create equivalent fp option in pa_proj_fp_options for target
6324:
6325: IF P_PA_DEBUG_MODE = 'Y' THEN
6326: pa_debug.g_err_stage := 'Calling Create_Fp_Option';
6327: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6328: END IF;
6329:
6330: PA_PROJ_FP_OPTIONS_PUB.Create_Fp_Option (
6323: --Create equivalent fp option in pa_proj_fp_options for target
6324:
6325: IF P_PA_DEBUG_MODE = 'Y' THEN
6326: pa_debug.g_err_stage := 'Calling Create_Fp_Option';
6327: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6328: END IF;
6329:
6330: PA_PROJ_FP_OPTIONS_PUB.Create_Fp_Option (
6331: px_target_proj_fp_option_id => l_target_proj_fp_options_id
6338: ,x_return_status => l_return_status
6339: ,x_msg_count => l_msg_count
6340: ,x_msg_data => l_msg_data);
6341:
6342: IF P_PA_DEBUG_MODE = 'Y' THEN
6343: pa_debug.g_err_stage := 'Calling Copy_Fp_Txn_Currencies api';
6344: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6345: END IF;
6346:
6339: ,x_msg_count => l_msg_count
6340: ,x_msg_data => l_msg_data);
6341:
6342: IF P_PA_DEBUG_MODE = 'Y' THEN
6343: pa_debug.g_err_stage := 'Calling Copy_Fp_Txn_Currencies api';
6344: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6345: END IF;
6346:
6347: PA_FP_TXN_CURRENCIES_PUB.Copy_Fp_Txn_Currencies(
6340: ,x_msg_data => l_msg_data);
6341:
6342: IF P_PA_DEBUG_MODE = 'Y' THEN
6343: pa_debug.g_err_stage := 'Calling Copy_Fp_Txn_Currencies api';
6344: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6345: END IF;
6346:
6347: PA_FP_TXN_CURRENCIES_PUB.Copy_Fp_Txn_Currencies(
6348: p_source_fp_option_id => l_proj_fp_options_id_tbl(l_index)
6364: THEN
6365: /* Code addition for Bug 2986930 ends */
6366: --Create equivalent fp option in pa_proj_fp_options for target
6367:
6368: IF P_PA_DEBUG_MODE = 'Y' THEN
6369: pa_debug.g_err_stage := 'Calling Create_Fp_Option';
6370: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6371: END IF;
6372:
6365: /* Code addition for Bug 2986930 ends */
6366: --Create equivalent fp option in pa_proj_fp_options for target
6367:
6368: IF P_PA_DEBUG_MODE = 'Y' THEN
6369: pa_debug.g_err_stage := 'Calling Create_Fp_Option';
6370: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6371: END IF;
6372:
6373: PA_PROJ_FP_OPTIONS_PUB.Create_Fp_Option (
6366: --Create equivalent fp option in pa_proj_fp_options for target
6367:
6368: IF P_PA_DEBUG_MODE = 'Y' THEN
6369: pa_debug.g_err_stage := 'Calling Create_Fp_Option';
6370: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6371: END IF;
6372:
6373: PA_PROJ_FP_OPTIONS_PUB.Create_Fp_Option (
6374: px_target_proj_fp_option_id => l_target_proj_fp_options_id
6382: ,x_msg_count => l_msg_count
6383: ,x_msg_data => l_msg_data);
6384:
6385: -- Call copy fp txn currencies api unconditionally
6386: IF P_PA_DEBUG_MODE = 'Y' THEN
6387: pa_debug.g_err_stage := 'Calling Copy_Fp_Txn_Currencies api';
6388: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6389: END IF;
6390:
6383: ,x_msg_data => l_msg_data);
6384:
6385: -- Call copy fp txn currencies api unconditionally
6386: IF P_PA_DEBUG_MODE = 'Y' THEN
6387: pa_debug.g_err_stage := 'Calling Copy_Fp_Txn_Currencies api';
6388: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6389: END IF;
6390:
6391: PA_FP_TXN_CURRENCIES_PUB.Copy_Fp_Txn_Currencies(
6384:
6385: -- Call copy fp txn currencies api unconditionally
6386: IF P_PA_DEBUG_MODE = 'Y' THEN
6387: pa_debug.g_err_stage := 'Calling Copy_Fp_Txn_Currencies api';
6388: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6389: END IF;
6390:
6391: PA_FP_TXN_CURRENCIES_PUB.Copy_Fp_Txn_Currencies(
6392: p_source_fp_option_id => l_proj_fp_options_id_tbl(l_index)
6399:
6400:
6401: --Copy resource assignments for the target plan version
6402:
6403: IF P_PA_DEBUG_MODE = 'Y' THEN
6404: pa_debug.g_err_stage := 'Calling Copy_Resource_Assignments';
6405: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6406: END IF;
6407:
6400:
6401: --Copy resource assignments for the target plan version
6402:
6403: IF P_PA_DEBUG_MODE = 'Y' THEN
6404: pa_debug.g_err_stage := 'Calling Copy_Resource_Assignments';
6405: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6406: END IF;
6407:
6408: PA_FP_COPY_FROM_PKG.Copy_Resource_Assignments(
6401: --Copy resource assignments for the target plan version
6402:
6403: IF P_PA_DEBUG_MODE = 'Y' THEN
6404: pa_debug.g_err_stage := 'Calling Copy_Resource_Assignments';
6405: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6406: END IF;
6407:
6408: PA_FP_COPY_FROM_PKG.Copy_Resource_Assignments(
6409: p_source_plan_version_id => l_source_version_id
6413: ,x_msg_count => l_msg_count
6414: ,x_msg_data => l_msg_data);
6415:
6416: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6417: IF P_PA_DEBUG_MODE = 'Y' THEN
6418: pa_debug.write(g_module_name,' Return status from copy RA api is ' || l_Return_Status,3);
6419: END IF;
6420: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6421: END IF;
6414: ,x_msg_data => l_msg_data);
6415:
6416: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6417: IF P_PA_DEBUG_MODE = 'Y' THEN
6418: pa_debug.write(g_module_name,' Return status from copy RA api is ' || l_Return_Status,3);
6419: END IF;
6420: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6421: END IF;
6422:
6421: END IF;
6422:
6423: -- Copying budget_lines from source to target
6424:
6425: IF P_PA_DEBUG_MODE = 'Y' THEN
6426: pa_debug.g_err_stage := 'Calling Copy_Budget_Lines';
6427: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6428: END IF;
6429:
6422:
6423: -- Copying budget_lines from source to target
6424:
6425: IF P_PA_DEBUG_MODE = 'Y' THEN
6426: pa_debug.g_err_stage := 'Calling Copy_Budget_Lines';
6427: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6428: END IF;
6429:
6430: PA_FP_COPY_FROM_PKG.Copy_Budget_Lines(
6423: -- Copying budget_lines from source to target
6424:
6425: IF P_PA_DEBUG_MODE = 'Y' THEN
6426: pa_debug.g_err_stage := 'Calling Copy_Budget_Lines';
6427: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6428: END IF;
6429:
6430: PA_FP_COPY_FROM_PKG.Copy_Budget_Lines(
6431: p_source_project_id => p_source_project_id
6437: ,x_msg_count => l_msg_count
6438: ,x_msg_data => l_msg_data );
6439:
6440: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6441: IF P_PA_DEBUG_MODE = 'Y' THEN
6442: pa_debug.write(g_module_name,' Return status from copy bl api is ' || l_Return_Status,3);
6443: END IF;
6444: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6445: END IF;
6438: ,x_msg_data => l_msg_data );
6439:
6440: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6441: IF P_PA_DEBUG_MODE = 'Y' THEN
6442: pa_debug.write(g_module_name,' Return status from copy bl api is ' || l_Return_Status,3);
6443: END IF;
6444: raise PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6445: END IF;
6446:
6446:
6447: --Calling Convert_Txn_Currency api to complete budget lines
6448: --in all respects
6449:
6450: IF P_PA_DEBUG_MODE = 'Y' THEN
6451: pa_debug.g_err_stage := 'Calling Convert_Txn_Currency';
6452: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6453: END IF;
6454:
6447: --Calling Convert_Txn_Currency api to complete budget lines
6448: --in all respects
6449:
6450: IF P_PA_DEBUG_MODE = 'Y' THEN
6451: pa_debug.g_err_stage := 'Calling Convert_Txn_Currency';
6452: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6453: END IF;
6454:
6455: PA_FP_MULTI_CURRENCY_PKG.Convert_Txn_Currency(
6448: --in all respects
6449:
6450: IF P_PA_DEBUG_MODE = 'Y' THEN
6451: pa_debug.g_err_stage := 'Calling Convert_Txn_Currency';
6452: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6453: END IF;
6454:
6455: PA_FP_MULTI_CURRENCY_PKG.Convert_Txn_Currency(
6456: p_budget_version_id => l_target_version_id
6466: -- Bug Fix: 4569365. Removed MRC code.
6467: -- FPB2: MRC - Calling MRC APIs
6468: /*
6469:
6470: IF P_PA_DEBUG_MODE = 'Y' THEN
6471: pa_debug.g_err_stage:='Calling mrc api ........ ';
6472: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6473: END IF;
6474:
6467: -- FPB2: MRC - Calling MRC APIs
6468: /*
6469:
6470: IF P_PA_DEBUG_MODE = 'Y' THEN
6471: pa_debug.g_err_stage:='Calling mrc api ........ ';
6472: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6473: END IF;
6474:
6475: IF PA_MRC_FINPLAN. g_mrc_enabled_for_budgets IS NULL THEN
6468: /*
6469:
6470: IF P_PA_DEBUG_MODE = 'Y' THEN
6471: pa_debug.g_err_stage:='Calling mrc api ........ ';
6472: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6473: END IF;
6474:
6475: IF PA_MRC_FINPLAN. g_mrc_enabled_for_budgets IS NULL THEN
6476: PA_MRC_FINPLAN.check_mrc_install
6501:
6502: --Calling copy_attachments api
6503: --Copy all the source version attachments to target version
6504:
6505: IF P_PA_DEBUG_MODE = 'Y' THEN
6506: pa_debug.g_err_stage := 'Calling Copy_Attachments api';
6507: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6508: END IF;
6509:
6502: --Calling copy_attachments api
6503: --Copy all the source version attachments to target version
6504:
6505: IF P_PA_DEBUG_MODE = 'Y' THEN
6506: pa_debug.g_err_stage := 'Calling Copy_Attachments api';
6507: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6508: END IF;
6509:
6510: /* BUG FIX 2955827
6503: --Copy all the source version attachments to target version
6504:
6505: IF P_PA_DEBUG_MODE = 'Y' THEN
6506: pa_debug.g_err_stage := 'Calling Copy_Attachments api';
6507: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6508: END IF;
6509:
6510: /* BUG FIX 2955827
6511: * copy_attachments is already done in PA_FP_COPY_FROM_PKG.Copy_Budget_Version
6539: X_MSG_COUNT => l_msg_count,
6540: X_MSG_DATA => l_msg_data);
6541:
6542: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6543: IF P_PA_debug_mode = 'Y' THEN
6544: pa_debug.g_err_stage:= 'Error in PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DETAILS';
6545: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6546: END IF;
6547: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6540: X_MSG_DATA => l_msg_data);
6541:
6542: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6543: IF P_PA_debug_mode = 'Y' THEN
6544: pa_debug.g_err_stage:= 'Error in PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DETAILS';
6545: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6546: END IF;
6547: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6548: END IF;
6541:
6542: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6543: IF P_PA_debug_mode = 'Y' THEN
6544: pa_debug.g_err_stage:= 'Error in PA_FP_GEN_AMOUNT_UTILS.GET_PLAN_VERSION_DETAILS';
6545: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6546: END IF;
6547: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6548: END IF;
6549:
6554: p_use_temp_table_flag => 'N',
6555: x_return_status => l_return_status);
6556:
6557: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6558: IF P_PA_debug_mode = 'Y' THEN
6559: pa_debug.g_err_stage:= 'Error in PA_BUDGET_LINES_UTILS.populate_display_qty';
6560: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6561: END IF;
6562: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6555: x_return_status => l_return_status);
6556:
6557: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6558: IF P_PA_debug_mode = 'Y' THEN
6559: pa_debug.g_err_stage:= 'Error in PA_BUDGET_LINES_UTILS.populate_display_qty';
6560: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6561: END IF;
6562: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6563: END IF;
6556:
6557: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6558: IF P_PA_debug_mode = 'Y' THEN
6559: pa_debug.g_err_stage:= 'Error in PA_BUDGET_LINES_UTILS.populate_display_qty';
6560: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6561: END IF;
6562: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6563: END IF;
6564:
6603: x_msg_data => l_msg_count,
6604: x_msg_count => l_msg_data);
6605:
6606: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6607: IF P_PA_debug_mode = 'Y' THEN
6608: pa_debug.g_err_stage:= 'Error in PA_RES_ASG_CURRENCY_PUB.MAINTAIN_DATA while doing the rollup';
6609: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6610: END IF;
6611: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6604: x_msg_count => l_msg_data);
6605:
6606: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6607: IF P_PA_debug_mode = 'Y' THEN
6608: pa_debug.g_err_stage:= 'Error in PA_RES_ASG_CURRENCY_PUB.MAINTAIN_DATA while doing the rollup';
6609: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6610: END IF;
6611: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6612: END IF;
6605:
6606: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6607: IF P_PA_debug_mode = 'Y' THEN
6608: pa_debug.g_err_stage:= 'Error in PA_RES_ASG_CURRENCY_PUB.MAINTAIN_DATA while doing the rollup';
6609: pa_debug.write(g_module_name,pa_debug.g_err_stage,l_debug_level5);
6610: END IF;
6611: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6612: END IF;
6613:
6614:
6615: --IPM Architechture Enhancement Bug 4865563 - End
6616:
6617: -- Rollup the budget version
6618: IF P_PA_DEBUG_MODE = 'Y' THEN
6619: pa_debug.g_err_stage := 'Calling Rollup_budget_version api';
6620: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6621: END IF;
6622:
6615: --IPM Architechture Enhancement Bug 4865563 - End
6616:
6617: -- Rollup the budget version
6618: IF P_PA_DEBUG_MODE = 'Y' THEN
6619: pa_debug.g_err_stage := 'Calling Rollup_budget_version api';
6620: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6621: END IF;
6622:
6623:
6616:
6617: -- Rollup the budget version
6618: IF P_PA_DEBUG_MODE = 'Y' THEN
6619: pa_debug.g_err_stage := 'Calling Rollup_budget_version api';
6620: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6621: END IF;
6622:
6623:
6624: PA_FP_ROLLUP_PKG.ROLLUP_BUDGET_VERSION(
6631: /* FP M - Reporting lines integration */
6632: l_budget_version_ids.delete;
6633: l_budget_version_ids := SYSTEM.pa_num_tbl_type(l_target_version_id);
6634:
6635: IF P_PA_DEBUG_MODE = 'Y' THEN
6636: pa_debug.write('Copy_Finplans_From_Project','Calling PJI_FM_XBS_ACCUM_MAINT.PLAN_CREATE ' ,5);
6637: pa_debug.write('Copy_Finplans_From_Project','p_fp_version_ids count '|| l_budget_version_ids.count(),5);
6638: END IF;
6639:
6632: l_budget_version_ids.delete;
6633: l_budget_version_ids := SYSTEM.pa_num_tbl_type(l_target_version_id);
6634:
6635: IF P_PA_DEBUG_MODE = 'Y' THEN
6636: pa_debug.write('Copy_Finplans_From_Project','Calling PJI_FM_XBS_ACCUM_MAINT.PLAN_CREATE ' ,5);
6637: pa_debug.write('Copy_Finplans_From_Project','p_fp_version_ids count '|| l_budget_version_ids.count(),5);
6638: END IF;
6639:
6640: /* We are sure that there is only one record. But just looping the std way */
6633: l_budget_version_ids := SYSTEM.pa_num_tbl_type(l_target_version_id);
6634:
6635: IF P_PA_DEBUG_MODE = 'Y' THEN
6636: pa_debug.write('Copy_Finplans_From_Project','Calling PJI_FM_XBS_ACCUM_MAINT.PLAN_CREATE ' ,5);
6637: pa_debug.write('Copy_Finplans_From_Project','p_fp_version_ids count '|| l_budget_version_ids.count(),5);
6638: END IF;
6639:
6640: /* We are sure that there is only one record. But just looping the std way */
6641: FOR I in l_budget_version_ids.first..l_budget_version_ids.last LOOP
6638: END IF;
6639:
6640: /* We are sure that there is only one record. But just looping the std way */
6641: FOR I in l_budget_version_ids.first..l_budget_version_ids.last LOOP
6642: IF P_PA_DEBUG_MODE = 'Y' THEN
6643: pa_debug.write('Copy_Finplans_From_Project',''|| l_budget_version_ids(i),5);
6644: END IF;
6645: END LOOP;
6646:
6639:
6640: /* We are sure that there is only one record. But just looping the std way */
6641: FOR I in l_budget_version_ids.first..l_budget_version_ids.last LOOP
6642: IF P_PA_DEBUG_MODE = 'Y' THEN
6643: pa_debug.write('Copy_Finplans_From_Project',''|| l_budget_version_ids(i),5);
6644: END IF;
6645: END LOOP;
6646:
6647: l_src_budget_version_id_tbl.delete;
6680:
6681: --Fetch current_flag of source plan version to check if
6682: --source version is baselined
6683:
6684: IF P_PA_DEBUG_MODE = 'Y' THEN
6685: pa_debug.g_err_stage := 'Fetching source version details';
6686: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6687: END IF;
6688:
6681: --Fetch current_flag of source plan version to check if
6682: --source version is baselined
6683:
6684: IF P_PA_DEBUG_MODE = 'Y' THEN
6685: pa_debug.g_err_stage := 'Fetching source version details';
6686: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6687: END IF;
6688:
6689: SELECT current_flag
6682: --source version is baselined
6683:
6684: IF P_PA_DEBUG_MODE = 'Y' THEN
6685: pa_debug.g_err_stage := 'Fetching source version details';
6686: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6687: END IF;
6688:
6689: SELECT current_flag
6690: ,record_version_number
6694: WHERE budget_version_id = l_source_version_id;
6695:
6696: --Fetch target version properties for the api calls
6697:
6698: IF P_PA_DEBUG_MODE = 'Y' THEN
6699: pa_debug.g_err_stage := 'Fetching target version details';
6700: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6701: END IF;
6702:
6695:
6696: --Fetch target version properties for the api calls
6697:
6698: IF P_PA_DEBUG_MODE = 'Y' THEN
6699: pa_debug.g_err_stage := 'Fetching target version details';
6700: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6701: END IF;
6702:
6703: SELECT record_version_number
6696: --Fetch target version properties for the api calls
6697:
6698: IF P_PA_DEBUG_MODE = 'Y' THEN
6699: pa_debug.g_err_stage := 'Fetching target version details';
6700: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6701: END IF;
6702:
6703: SELECT record_version_number
6704: ,version_type
6716: THEN
6717:
6718: --submit and baseline the the plan version
6719:
6720: IF P_PA_DEBUG_MODE = 'Y' THEN
6721: pa_debug.g_err_stage := 'Calling Set_Current_Working';
6722: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6723: END IF;
6724:
6717:
6718: --submit and baseline the the plan version
6719:
6720: IF P_PA_DEBUG_MODE = 'Y' THEN
6721: pa_debug.g_err_stage := 'Calling Set_Current_Working';
6722: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6723: END IF;
6724:
6725: PA_FIN_PLAN_PUB.Set_Current_Working(
6718: --submit and baseline the the plan version
6719:
6720: IF P_PA_DEBUG_MODE = 'Y' THEN
6721: pa_debug.g_err_stage := 'Calling Set_Current_Working';
6722: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6723: END IF;
6724:
6725: PA_FIN_PLAN_PUB.Set_Current_Working(
6726: p_project_id => p_target_project_id
6736: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6737: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6738: END IF;
6739:
6740: IF P_PA_DEBUG_MODE = 'Y' THEN
6741: pa_debug.g_err_stage := 'Calling Submit_Current_Working';
6742: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6743: END IF;
6744:
6737: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6738: END IF;
6739:
6740: IF P_PA_DEBUG_MODE = 'Y' THEN
6741: pa_debug.g_err_stage := 'Calling Submit_Current_Working';
6742: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6743: END IF;
6744:
6745: --Bug 3964755. In copy project flow, the version need not be locked. Added the context parameter
6738: END IF;
6739:
6740: IF P_PA_DEBUG_MODE = 'Y' THEN
6741: pa_debug.g_err_stage := 'Calling Submit_Current_Working';
6742: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6743: END IF;
6744:
6745: --Bug 3964755. In copy project flow, the version need not be locked. Added the context parameter
6746: --to submit API to skip this check.
6757: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
6758: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6759: END IF;
6760:
6761: IF P_PA_DEBUG_MODE = 'Y' THEN
6762: pa_debug.g_err_stage := 'Calling Baseline';
6763: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6764: END IF;
6765:
6758: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6759: END IF;
6760:
6761: IF P_PA_DEBUG_MODE = 'Y' THEN
6762: pa_debug.g_err_stage := 'Calling Baseline';
6763: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6764: END IF;
6765:
6766: -- Bug Fix: 4569365. Removed MRC code.
6759: END IF;
6760:
6761: IF P_PA_DEBUG_MODE = 'Y' THEN
6762: pa_debug.g_err_stage := 'Calling Baseline';
6763: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6764: END IF;
6765:
6766: -- Bug Fix: 4569365. Removed MRC code.
6767: -- PA_MRC_FINPLAN.G_CALLING_MODULE := PA_MRC_FINPLAN.G_COPY_PROJECTS; /* FPB2 */
6795: END LOOP; -- l_proj_fp_options_id_tbl
6796:
6797: END IF; --Bug :- 2570874
6798:
6799: IF P_PA_DEBUG_MODE = 'Y' THEN
6800: pa_debug.g_err_stage := 'Exiting Copy_Finplans_From_Project';
6801: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6802: pa_debug.reset_err_stack;
6803: END IF;
6796:
6797: END IF; --Bug :- 2570874
6798:
6799: IF P_PA_DEBUG_MODE = 'Y' THEN
6800: pa_debug.g_err_stage := 'Exiting Copy_Finplans_From_Project';
6801: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6802: pa_debug.reset_err_stack;
6803: END IF;
6804: EXCEPTION
6797: END IF; --Bug :- 2570874
6798:
6799: IF P_PA_DEBUG_MODE = 'Y' THEN
6800: pa_debug.g_err_stage := 'Exiting Copy_Finplans_From_Project';
6801: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6802: pa_debug.reset_err_stack;
6803: END IF;
6804: EXCEPTION
6805:
6798:
6799: IF P_PA_DEBUG_MODE = 'Y' THEN
6800: pa_debug.g_err_stage := 'Exiting Copy_Finplans_From_Project';
6801: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6802: pa_debug.reset_err_stack;
6803: END IF;
6804: EXCEPTION
6805:
6806: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
6819: ELSE
6820: x_msg_count := l_msg_count;
6821: END IF;
6822:
6823: IF P_PA_DEBUG_MODE = 'Y' THEN
6824: pa_debug.g_err_stage:='Invalid Arguments Passed';
6825: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
6826: pa_debug.reset_err_stack;
6827: END IF;
6820: x_msg_count := l_msg_count;
6821: END IF;
6822:
6823: IF P_PA_DEBUG_MODE = 'Y' THEN
6824: pa_debug.g_err_stage:='Invalid Arguments Passed';
6825: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
6826: pa_debug.reset_err_stack;
6827: END IF;
6828: x_return_status:= FND_API.G_RET_STS_ERROR;
6821: END IF;
6822:
6823: IF P_PA_DEBUG_MODE = 'Y' THEN
6824: pa_debug.g_err_stage:='Invalid Arguments Passed';
6825: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
6826: pa_debug.reset_err_stack;
6827: END IF;
6828: x_return_status:= FND_API.G_RET_STS_ERROR;
6829: -- bug#2753123
6822:
6823: IF P_PA_DEBUG_MODE = 'Y' THEN
6824: pa_debug.g_err_stage:='Invalid Arguments Passed';
6825: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
6826: pa_debug.reset_err_stack;
6827: END IF;
6828: x_return_status:= FND_API.G_RET_STS_ERROR;
6829: -- bug#2753123
6830: IF l_err_stage is NOT NULL THEN
6843: x_msg_data := SQLERRM;
6844: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
6845: ,p_procedure_name => 'Copy_Finplans_From_Project');
6846:
6847: IF P_PA_DEBUG_MODE = 'Y' THEN
6848: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
6849: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
6850: pa_debug.reset_err_stack;
6851: END IF;
6844: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
6845: ,p_procedure_name => 'Copy_Finplans_From_Project');
6846:
6847: IF P_PA_DEBUG_MODE = 'Y' THEN
6848: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
6849: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
6850: pa_debug.reset_err_stack;
6851: END IF;
6852: -- Bug Fix: 4569365. Removed MRC code.
6845: ,p_procedure_name => 'Copy_Finplans_From_Project');
6846:
6847: IF P_PA_DEBUG_MODE = 'Y' THEN
6848: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
6849: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
6850: pa_debug.reset_err_stack;
6851: END IF;
6852: -- Bug Fix: 4569365. Removed MRC code.
6853:
6846:
6847: IF P_PA_DEBUG_MODE = 'Y' THEN
6848: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
6849: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
6850: pa_debug.reset_err_stack;
6851: END IF;
6852: -- Bug Fix: 4569365. Removed MRC code.
6853:
6854: -- bug 3163280 ROLLBACK TO COPY_PROJECT;
6906:
6907: x_msg_count := 0;
6908: x_return_status := FND_API.G_RET_STS_SUCCESS;
6909:
6910: IF p_pa_debug_mode = 'Y' THEN
6911: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Get_Fp_Options_To_Be_Copied');
6912: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
6913: END IF;
6914:
6907: x_msg_count := 0;
6908: x_return_status := FND_API.G_RET_STS_SUCCESS;
6909:
6910: IF p_pa_debug_mode = 'Y' THEN
6911: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Get_Fp_Options_To_Be_Copied');
6912: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
6913: END IF;
6914:
6915: -- Check if source project id is NULL,if so throw an error message
6908: x_return_status := FND_API.G_RET_STS_SUCCESS;
6909:
6910: IF p_pa_debug_mode = 'Y' THEN
6911: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Get_Fp_Options_To_Be_Copied');
6912: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
6913: END IF;
6914:
6915: -- Check if source project id is NULL,if so throw an error message
6916:
6913: END IF;
6914:
6915: -- Check if source project id is NULL,if so throw an error message
6916:
6917: IF P_PA_DEBUG_MODE = 'Y' THEN
6918: pa_debug.g_err_stage := 'Checking for valid parameters:';
6919: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6920: END IF;
6921:
6914:
6915: -- Check if source project id is NULL,if so throw an error message
6916:
6917: IF P_PA_DEBUG_MODE = 'Y' THEN
6918: pa_debug.g_err_stage := 'Checking for valid parameters:';
6919: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6920: END IF;
6921:
6922: IF (p_source_project_id IS NULL) OR
6915: -- Check if source project id is NULL,if so throw an error message
6916:
6917: IF P_PA_DEBUG_MODE = 'Y' THEN
6918: pa_debug.g_err_stage := 'Checking for valid parameters:';
6919: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6920: END IF;
6921:
6922: IF (p_source_project_id IS NULL) OR
6923: (p_copy_versions IS NULL) THEN
6921:
6922: IF (p_source_project_id IS NULL) OR
6923: (p_copy_versions IS NULL) THEN
6924:
6925: IF P_PA_DEBUG_MODE = 'Y' THEN
6926: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6927: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6928: pa_debug.g_err_stage := 'p_copy_versions='||p_copy_versions;
6929: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6922: IF (p_source_project_id IS NULL) OR
6923: (p_copy_versions IS NULL) THEN
6924:
6925: IF P_PA_DEBUG_MODE = 'Y' THEN
6926: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6927: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6928: pa_debug.g_err_stage := 'p_copy_versions='||p_copy_versions;
6929: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6930: END IF;
6923: (p_copy_versions IS NULL) THEN
6924:
6925: IF P_PA_DEBUG_MODE = 'Y' THEN
6926: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6927: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6928: pa_debug.g_err_stage := 'p_copy_versions='||p_copy_versions;
6929: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6930: END IF;
6931: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
6924:
6925: IF P_PA_DEBUG_MODE = 'Y' THEN
6926: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6927: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6928: pa_debug.g_err_stage := 'p_copy_versions='||p_copy_versions;
6929: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6930: END IF;
6931: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
6932: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
6925: IF P_PA_DEBUG_MODE = 'Y' THEN
6926: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
6927: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6928: pa_debug.g_err_stage := 'p_copy_versions='||p_copy_versions;
6929: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
6930: END IF;
6931: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
6932: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
6933: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6933: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
6934:
6935: END IF;
6936:
6937: IF P_PA_DEBUG_MODE = 'Y' THEN
6938: pa_debug.g_err_stage := 'Parameter validation complete';
6939: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6940: END IF;
6941:
6934:
6935: END IF;
6936:
6937: IF P_PA_DEBUG_MODE = 'Y' THEN
6938: pa_debug.g_err_stage := 'Parameter validation complete';
6939: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6940: END IF;
6941:
6942: --Fetch and store project level fp option id in proj_fp_options_id_tbl.
6935: END IF;
6936:
6937: IF P_PA_DEBUG_MODE = 'Y' THEN
6938: pa_debug.g_err_stage := 'Parameter validation complete';
6939: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6940: END IF;
6941:
6942: --Fetch and store project level fp option id in proj_fp_options_id_tbl.
6943:
6940: END IF;
6941:
6942: --Fetch and store project level fp option id in proj_fp_options_id_tbl.
6943:
6944: IF P_PA_DEBUG_MODE = 'Y' THEN
6945: pa_debug.g_err_stage := 'Fetching project level fp option id';
6946: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6947: END IF;
6948:
6941:
6942: --Fetch and store project level fp option id in proj_fp_options_id_tbl.
6943:
6944: IF P_PA_DEBUG_MODE = 'Y' THEN
6945: pa_debug.g_err_stage := 'Fetching project level fp option id';
6946: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6947: END IF;
6948:
6949: OPEN cur_for_fp_options(PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PROJECT);
6942: --Fetch and store project level fp option id in proj_fp_options_id_tbl.
6943:
6944: IF P_PA_DEBUG_MODE = 'Y' THEN
6945: pa_debug.g_err_stage := 'Fetching project level fp option id';
6946: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6947: END IF;
6948:
6949: OPEN cur_for_fp_options(PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PROJECT);
6950:
6956: CLOSE cur_for_fp_options;
6957:
6958: --Open and fetch fp options ids of all the plan types attached to project
6959:
6960: IF P_PA_DEBUG_MODE = 'Y' THEN
6961: pa_debug.g_err_stage := 'Opening cur_for_plan_type_fp_options';
6962: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6963: END IF;
6964:
6957:
6958: --Open and fetch fp options ids of all the plan types attached to project
6959:
6960: IF P_PA_DEBUG_MODE = 'Y' THEN
6961: pa_debug.g_err_stage := 'Opening cur_for_plan_type_fp_options';
6962: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6963: END IF;
6964:
6965: OPEN cur_for_fp_options(PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE);
6958: --Open and fetch fp options ids of all the plan types attached to project
6959:
6960: IF P_PA_DEBUG_MODE = 'Y' THEN
6961: pa_debug.g_err_stage := 'Opening cur_for_plan_type_fp_options';
6962: pa_debug.write(g_module_name,pa_debug.g_err_stage,3);
6963: END IF;
6964:
6965: OPEN cur_for_fp_options(PA_FP_CONSTANTS_PKG.G_OPTION_LEVEL_PLAN_TYPE);
6966: LOOP
6979:
6980: --For each plan type fetched copy the options id of baselined or
6981: --current working version.
6982:
6983: IF P_PA_DEBUG_MODE = 'Y' THEN
6984: pa_debug.g_err_stage := 'Preference_code ='|| l_fin_plan_preference_code;
6985: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6986: END IF;
6987:
6980: --For each plan type fetched copy the options id of baselined or
6981: --current working version.
6982:
6983: IF P_PA_DEBUG_MODE = 'Y' THEN
6984: pa_debug.g_err_stage := 'Preference_code ='|| l_fin_plan_preference_code;
6985: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6986: END IF;
6987:
6988: --For COST_AND REV_SEP plan type we have to copy both revenue and cost
6981: --current working version.
6982:
6983: IF P_PA_DEBUG_MODE = 'Y' THEN
6984: pa_debug.g_err_stage := 'Preference_code ='|| l_fin_plan_preference_code;
6985: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6986: END IF;
6987:
6988: --For COST_AND REV_SEP plan type we have to copy both revenue and cost
6989: --versions.
6989: --versions.
6990:
6991: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP THEN
6992:
6993: IF P_PA_DEBUG_MODE = 'Y' THEN
6994: pa_debug.g_err_stage := 'Fetching baselined cost plan version';
6995: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6996: END IF;
6997:
6990:
6991: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP THEN
6992:
6993: IF P_PA_DEBUG_MODE = 'Y' THEN
6994: pa_debug.g_err_stage := 'Fetching baselined cost plan version';
6995: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6996: END IF;
6997:
6998: PA_FIN_PLAN_UTILS.Get_Baselined_Version_Info(
6991: IF l_fin_plan_preference_code = PA_FP_CONSTANTS_PKG.G_PREF_COST_AND_REV_SEP THEN
6992:
6993: IF P_PA_DEBUG_MODE = 'Y' THEN
6994: pa_debug.g_err_stage := 'Fetching baselined cost plan version';
6995: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
6996: END IF;
6997:
6998: PA_FIN_PLAN_UTILS.Get_Baselined_Version_Info(
6999: p_project_id => p_source_project_id
7009: --id current working version
7010:
7011: IF (l_fp_options_id IS NULL) THEN
7012:
7013: IF P_PA_DEBUG_MODE = 'Y' THEN
7014: pa_debug.g_err_stage := 'Baselined plan cost version does not exist';
7015: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7016:
7017: pa_debug.g_err_stage := 'Fetching current cost woking plan version if any';
7010:
7011: IF (l_fp_options_id IS NULL) THEN
7012:
7013: IF P_PA_DEBUG_MODE = 'Y' THEN
7014: pa_debug.g_err_stage := 'Baselined plan cost version does not exist';
7015: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7016:
7017: pa_debug.g_err_stage := 'Fetching current cost woking plan version if any';
7018: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7011: IF (l_fp_options_id IS NULL) THEN
7012:
7013: IF P_PA_DEBUG_MODE = 'Y' THEN
7014: pa_debug.g_err_stage := 'Baselined plan cost version does not exist';
7015: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7016:
7017: pa_debug.g_err_stage := 'Fetching current cost woking plan version if any';
7018: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7019: END IF;
7013: IF P_PA_DEBUG_MODE = 'Y' THEN
7014: pa_debug.g_err_stage := 'Baselined plan cost version does not exist';
7015: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7016:
7017: pa_debug.g_err_stage := 'Fetching current cost woking plan version if any';
7018: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7019: END IF;
7020:
7021: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(
7014: pa_debug.g_err_stage := 'Baselined plan cost version does not exist';
7015: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7016:
7017: pa_debug.g_err_stage := 'Fetching current cost woking plan version if any';
7018: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7019: END IF;
7020:
7021: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(
7022: p_project_id => p_source_project_id
7032:
7033: --Insert the fetched option id of plan version if existing
7034:
7035: IF (l_fp_options_id IS NOT NULL) THEN
7036: IF P_PA_DEBUG_MODE = 'Y' THEN
7037: pa_debug.g_err_stage := 'Storing option id of cost plan version fetched';
7038: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7039: END IF;
7040:
7033: --Insert the fetched option id of plan version if existing
7034:
7035: IF (l_fp_options_id IS NOT NULL) THEN
7036: IF P_PA_DEBUG_MODE = 'Y' THEN
7037: pa_debug.g_err_stage := 'Storing option id of cost plan version fetched';
7038: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7039: END IF;
7040:
7041: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7034:
7035: IF (l_fp_options_id IS NOT NULL) THEN
7036: IF P_PA_DEBUG_MODE = 'Y' THEN
7037: pa_debug.g_err_stage := 'Storing option id of cost plan version fetched';
7038: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7039: END IF;
7040:
7041: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7042: ELSE
7039: END IF;
7040:
7041: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7042: ELSE
7043: IF P_PA_DEBUG_MODE = 'Y' THEN
7044: pa_debug.g_err_stage := 'Current working cost plan version does not exist for this plan type';
7045: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7046: END IF;
7047: END IF;
7040:
7041: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7042: ELSE
7043: IF P_PA_DEBUG_MODE = 'Y' THEN
7044: pa_debug.g_err_stage := 'Current working cost plan version does not exist for this plan type';
7045: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7046: END IF;
7047: END IF;
7048:
7041: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7042: ELSE
7043: IF P_PA_DEBUG_MODE = 'Y' THEN
7044: pa_debug.g_err_stage := 'Current working cost plan version does not exist for this plan type';
7045: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7046: END IF;
7047: END IF;
7048:
7049: --Fetch revenue version id for the plan type
7047: END IF;
7048:
7049: --Fetch revenue version id for the plan type
7050:
7051: IF P_PA_DEBUG_MODE = 'Y' THEN
7052: pa_debug.g_err_stage := 'Fetching baselined revenue plan version';
7053: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7054: END IF;
7055:
7048:
7049: --Fetch revenue version id for the plan type
7050:
7051: IF P_PA_DEBUG_MODE = 'Y' THEN
7052: pa_debug.g_err_stage := 'Fetching baselined revenue plan version';
7053: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7054: END IF;
7055:
7056: PA_FIN_PLAN_UTILS.Get_Baselined_Version_Info(
7049: --Fetch revenue version id for the plan type
7050:
7051: IF P_PA_DEBUG_MODE = 'Y' THEN
7052: pa_debug.g_err_stage := 'Fetching baselined revenue plan version';
7053: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7054: END IF;
7055:
7056: PA_FIN_PLAN_UTILS.Get_Baselined_Version_Info(
7057: p_project_id => p_source_project_id
7067: --id current working version
7068:
7069: IF (l_fp_options_id IS NULL) THEN
7070:
7071: IF P_PA_DEBUG_MODE = 'Y' THEN
7072: pa_debug.g_err_stage := 'Baselined plan revenue version does not exist';
7073: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7074:
7075: pa_debug.g_err_stage := 'Fetching current revenue woking plan version if any';
7068:
7069: IF (l_fp_options_id IS NULL) THEN
7070:
7071: IF P_PA_DEBUG_MODE = 'Y' THEN
7072: pa_debug.g_err_stage := 'Baselined plan revenue version does not exist';
7073: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7074:
7075: pa_debug.g_err_stage := 'Fetching current revenue woking plan version if any';
7076: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7069: IF (l_fp_options_id IS NULL) THEN
7070:
7071: IF P_PA_DEBUG_MODE = 'Y' THEN
7072: pa_debug.g_err_stage := 'Baselined plan revenue version does not exist';
7073: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7074:
7075: pa_debug.g_err_stage := 'Fetching current revenue woking plan version if any';
7076: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7077: END IF;
7071: IF P_PA_DEBUG_MODE = 'Y' THEN
7072: pa_debug.g_err_stage := 'Baselined plan revenue version does not exist';
7073: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7074:
7075: pa_debug.g_err_stage := 'Fetching current revenue woking plan version if any';
7076: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7077: END IF;
7078:
7079: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(
7072: pa_debug.g_err_stage := 'Baselined plan revenue version does not exist';
7073: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7074:
7075: pa_debug.g_err_stage := 'Fetching current revenue woking plan version if any';
7076: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7077: END IF;
7078:
7079: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(
7080: p_project_id => p_source_project_id
7091: --Insert the fetched option id of plan version if existing
7092:
7093: IF (l_fp_options_id IS NOT NULL) THEN
7094:
7095: IF P_PA_DEBUG_MODE = 'Y' THEN
7096: pa_debug.g_err_stage := 'Storing option id of revenue plan version fetched';
7097: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7098: END IF;
7099:
7092:
7093: IF (l_fp_options_id IS NOT NULL) THEN
7094:
7095: IF P_PA_DEBUG_MODE = 'Y' THEN
7096: pa_debug.g_err_stage := 'Storing option id of revenue plan version fetched';
7097: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7098: END IF;
7099:
7100: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7093: IF (l_fp_options_id IS NOT NULL) THEN
7094:
7095: IF P_PA_DEBUG_MODE = 'Y' THEN
7096: pa_debug.g_err_stage := 'Storing option id of revenue plan version fetched';
7097: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7098: END IF;
7099:
7100: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7101:
7099:
7100: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7101:
7102: ELSE
7103: IF P_PA_DEBUG_MODE = 'Y' THEN
7104: pa_debug.g_err_stage := 'Current working revenue plan version does not exist for this plan type';
7105: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7106: END IF;
7107: END IF;
7100: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7101:
7102: ELSE
7103: IF P_PA_DEBUG_MODE = 'Y' THEN
7104: pa_debug.g_err_stage := 'Current working revenue plan version does not exist for this plan type';
7105: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7106: END IF;
7107: END IF;
7108:
7101:
7102: ELSE
7103: IF P_PA_DEBUG_MODE = 'Y' THEN
7104: pa_debug.g_err_stage := 'Current working revenue plan version does not exist for this plan type';
7105: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7106: END IF;
7107: END IF;
7108:
7109: ELSE
7109: ELSE
7110:
7111: --Fetch baselined plan version id for the plan type
7112:
7113: IF P_PA_DEBUG_MODE = 'Y' THEN
7114: pa_debug.g_err_stage := 'Fetching baselined plan version if any';
7115: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7116: END IF;
7117:
7110:
7111: --Fetch baselined plan version id for the plan type
7112:
7113: IF P_PA_DEBUG_MODE = 'Y' THEN
7114: pa_debug.g_err_stage := 'Fetching baselined plan version if any';
7115: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7116: END IF;
7117:
7118: PA_FIN_PLAN_UTILS.Get_Baselined_Version_Info(
7111: --Fetch baselined plan version id for the plan type
7112:
7113: IF P_PA_DEBUG_MODE = 'Y' THEN
7114: pa_debug.g_err_stage := 'Fetching baselined plan version if any';
7115: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7116: END IF;
7117:
7118: PA_FIN_PLAN_UTILS.Get_Baselined_Version_Info(
7119: p_project_id => p_source_project_id
7129: --id current working version
7130:
7131: IF (l_fp_options_id IS NULL) THEN
7132:
7133: IF P_PA_DEBUG_MODE = 'Y' THEN
7134: pa_debug.g_err_stage := 'Baselined plan version does not exist';
7135: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7136:
7137: pa_debug.g_err_stage := 'Fetching current woking plan version if any';
7130:
7131: IF (l_fp_options_id IS NULL) THEN
7132:
7133: IF P_PA_DEBUG_MODE = 'Y' THEN
7134: pa_debug.g_err_stage := 'Baselined plan version does not exist';
7135: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7136:
7137: pa_debug.g_err_stage := 'Fetching current woking plan version if any';
7138: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7131: IF (l_fp_options_id IS NULL) THEN
7132:
7133: IF P_PA_DEBUG_MODE = 'Y' THEN
7134: pa_debug.g_err_stage := 'Baselined plan version does not exist';
7135: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7136:
7137: pa_debug.g_err_stage := 'Fetching current woking plan version if any';
7138: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7139: END IF;
7133: IF P_PA_DEBUG_MODE = 'Y' THEN
7134: pa_debug.g_err_stage := 'Baselined plan version does not exist';
7135: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7136:
7137: pa_debug.g_err_stage := 'Fetching current woking plan version if any';
7138: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7139: END IF;
7140:
7141: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(
7134: pa_debug.g_err_stage := 'Baselined plan version does not exist';
7135: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7136:
7137: pa_debug.g_err_stage := 'Fetching current woking plan version if any';
7138: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7139: END IF;
7140:
7141: PA_FIN_PLAN_UTILS.Get_Curr_Working_Version_Info(
7142: p_project_id => p_source_project_id
7153: --Insert the fetched option id of plan version if existing
7154:
7155: IF (l_fp_options_id IS NOT NULL) THEN
7156:
7157: IF P_PA_DEBUG_MODE = 'Y' THEN
7158: pa_debug.g_err_stage := 'Storing option id of plan version fetched';
7159: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7160: END IF;
7161:
7154:
7155: IF (l_fp_options_id IS NOT NULL) THEN
7156:
7157: IF P_PA_DEBUG_MODE = 'Y' THEN
7158: pa_debug.g_err_stage := 'Storing option id of plan version fetched';
7159: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7160: END IF;
7161:
7162: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7155: IF (l_fp_options_id IS NOT NULL) THEN
7156:
7157: IF P_PA_DEBUG_MODE = 'Y' THEN
7158: pa_debug.g_err_stage := 'Storing option id of plan version fetched';
7159: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7160: END IF;
7161:
7162: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7163:
7161:
7162: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7163:
7164: ELSE
7165: IF P_PA_DEBUG_MODE = 'Y' THEN
7166: pa_debug.g_err_stage := 'Current working plan version does not exist for this plan type';
7167: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7168: END IF;
7169: END IF;
7162: l_proj_fp_options_id_tbl(nvl(l_proj_fp_options_id_tbl.last,0)+1) := l_fp_options_id;
7163:
7164: ELSE
7165: IF P_PA_DEBUG_MODE = 'Y' THEN
7166: pa_debug.g_err_stage := 'Current working plan version does not exist for this plan type';
7167: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7168: END IF;
7169: END IF;
7170: END IF; --l_fin_plan_preference_code
7163:
7164: ELSE
7165: IF P_PA_DEBUG_MODE = 'Y' THEN
7166: pa_debug.g_err_stage := 'Current working plan version does not exist for this plan type';
7167: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7168: END IF;
7169: END IF;
7170: END IF; --l_fin_plan_preference_code
7171:
7177: --Return the fp_options_id tbl;
7178:
7179: x_fp_options_ids_tbl := l_proj_fp_options_id_tbl;
7180:
7181: IF P_PA_DEBUG_MODE = 'Y' THEN
7182: pa_debug.g_err_stage := 'Exiting Get_Fp_Options_To_Be_Copied';
7183: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7184: pa_debug.reset_err_stack;
7185: END IF;
7178:
7179: x_fp_options_ids_tbl := l_proj_fp_options_id_tbl;
7180:
7181: IF P_PA_DEBUG_MODE = 'Y' THEN
7182: pa_debug.g_err_stage := 'Exiting Get_Fp_Options_To_Be_Copied';
7183: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7184: pa_debug.reset_err_stack;
7185: END IF;
7186:
7179: x_fp_options_ids_tbl := l_proj_fp_options_id_tbl;
7180:
7181: IF P_PA_DEBUG_MODE = 'Y' THEN
7182: pa_debug.g_err_stage := 'Exiting Get_Fp_Options_To_Be_Copied';
7183: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7184: pa_debug.reset_err_stack;
7185: END IF;
7186:
7187: EXCEPTION
7180:
7181: IF P_PA_DEBUG_MODE = 'Y' THEN
7182: pa_debug.g_err_stage := 'Exiting Get_Fp_Options_To_Be_Copied';
7183: pa_debug.write( g_module_name,pa_debug.g_err_stage,3);
7184: pa_debug.reset_err_stack;
7185: END IF;
7186:
7187: EXCEPTION
7188:
7201: ELSE
7202: x_msg_count := l_msg_count;
7203: END IF;
7204:
7205: IF P_PA_DEBUG_MODE = 'Y' THEN
7206: pa_debug.g_err_stage:='Invalid Arguments Passed';
7207: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
7208: pa_debug.reset_err_stack;
7209: END IF;
7202: x_msg_count := l_msg_count;
7203: END IF;
7204:
7205: IF P_PA_DEBUG_MODE = 'Y' THEN
7206: pa_debug.g_err_stage:='Invalid Arguments Passed';
7207: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
7208: pa_debug.reset_err_stack;
7209: END IF;
7210: x_return_status:= FND_API.G_RET_STS_ERROR;
7203: END IF;
7204:
7205: IF P_PA_DEBUG_MODE = 'Y' THEN
7206: pa_debug.g_err_stage:='Invalid Arguments Passed';
7207: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
7208: pa_debug.reset_err_stack;
7209: END IF;
7210: x_return_status:= FND_API.G_RET_STS_ERROR;
7211:
7204:
7205: IF P_PA_DEBUG_MODE = 'Y' THEN
7206: pa_debug.g_err_stage:='Invalid Arguments Passed';
7207: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
7208: pa_debug.reset_err_stack;
7209: END IF;
7210: x_return_status:= FND_API.G_RET_STS_ERROR;
7211:
7212: RAISE;
7218: x_msg_data := SQLERRM;
7219: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
7220: ,p_procedure_name => 'Get_Fp_Options_To_Be_Copied');
7221:
7222: IF P_PA_DEBUG_MODE = 'Y' THEN
7223: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
7224: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
7225: pa_debug.reset_err_stack;
7226: END IF;
7219: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
7220: ,p_procedure_name => 'Get_Fp_Options_To_Be_Copied');
7221:
7222: IF P_PA_DEBUG_MODE = 'Y' THEN
7223: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
7224: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
7225: pa_debug.reset_err_stack;
7226: END IF;
7227: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7220: ,p_procedure_name => 'Get_Fp_Options_To_Be_Copied');
7221:
7222: IF P_PA_DEBUG_MODE = 'Y' THEN
7223: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
7224: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
7225: pa_debug.reset_err_stack;
7226: END IF;
7227: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7228:
7221:
7222: IF P_PA_DEBUG_MODE = 'Y' THEN
7223: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
7224: pa_debug.write( g_module_name,pa_debug.g_err_stage,5);
7225: pa_debug.reset_err_stack;
7226: END IF;
7227: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7228:
7229: END Get_Fp_Options_To_Be_Copied;
7271: x_err_code => l_err_code,
7272: x_err_stage => l_err_stage,
7273: x_err_stack => l_err_stack);
7274: IF l_err_code <> 0 THEN
7275: IF P_PA_DEBUG_MODE = 'Y' THEN
7276: pa_debug.g_err_stage := 'Exception raised by pa_budget_core.shift_periods...';
7277: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7278: END IF;
7279:
7272: x_err_stage => l_err_stage,
7273: x_err_stack => l_err_stack);
7274: IF l_err_code <> 0 THEN
7275: IF P_PA_DEBUG_MODE = 'Y' THEN
7276: pa_debug.g_err_stage := 'Exception raised by pa_budget_core.shift_periods...';
7277: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7278: END IF;
7279:
7280: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
7273: x_err_stack => l_err_stack);
7274: IF l_err_code <> 0 THEN
7275: IF P_PA_DEBUG_MODE = 'Y' THEN
7276: pa_debug.g_err_stage := 'Exception raised by pa_budget_core.shift_periods...';
7277: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7278: END IF;
7279:
7280: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
7281: p_msg_name => l_err_stage);
7357: BEGIN
7358:
7359: x_msg_count := 0;
7360: x_return_status := FND_API.G_RET_STS_SUCCESS;
7361: IF P_PA_DEBUG_MODE = 'Y' THEN
7362: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines');
7363: END IF;
7364: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
7365: l_debug_mode := NVL(l_debug_mode, 'Y');
7358:
7359: x_msg_count := 0;
7360: x_return_status := FND_API.G_RET_STS_SUCCESS;
7361: IF P_PA_DEBUG_MODE = 'Y' THEN
7362: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines');
7363: END IF;
7364: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
7365: l_debug_mode := NVL(l_debug_mode, 'Y');
7366: IF P_PA_DEBUG_MODE = 'Y' THEN
7360: x_return_status := FND_API.G_RET_STS_SUCCESS;
7361: IF P_PA_DEBUG_MODE = 'Y' THEN
7362: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines');
7363: END IF;
7364: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
7365: l_debug_mode := NVL(l_debug_mode, 'Y');
7366: IF P_PA_DEBUG_MODE = 'Y' THEN
7367: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
7368: END IF;
7362: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines');
7363: END IF;
7364: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
7365: l_debug_mode := NVL(l_debug_mode, 'Y');
7366: IF P_PA_DEBUG_MODE = 'Y' THEN
7367: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
7368: END IF;
7369: -- Checking for all valid input parametrs
7370:
7363: END IF;
7364: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
7365: l_debug_mode := NVL(l_debug_mode, 'Y');
7366: IF P_PA_DEBUG_MODE = 'Y' THEN
7367: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
7368: END IF;
7369: -- Checking for all valid input parametrs
7370:
7371: IF P_PA_DEBUG_MODE = 'Y' THEN
7367: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
7368: END IF;
7369: -- Checking for all valid input parametrs
7370:
7371: IF P_PA_DEBUG_MODE = 'Y' THEN
7372: pa_debug.g_err_stage := 'Checking for valid parameters:';
7373: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7374: END IF;
7375:
7368: END IF;
7369: -- Checking for all valid input parametrs
7370:
7371: IF P_PA_DEBUG_MODE = 'Y' THEN
7372: pa_debug.g_err_stage := 'Checking for valid parameters:';
7373: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7374: END IF;
7375:
7376: IF (p_source_plan_version_id IS NULL) OR
7369: -- Checking for all valid input parametrs
7370:
7371: IF P_PA_DEBUG_MODE = 'Y' THEN
7372: pa_debug.g_err_stage := 'Checking for valid parameters:';
7373: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7374: END IF;
7375:
7376: IF (p_source_plan_version_id IS NULL) OR
7377: (p_target_plan_version_id IS NULL) OR
7378: (p_source_project_id IS NULL) OR
7379: (p_target_project_id IS NULL)
7380: THEN
7381:
7382: IF P_PA_DEBUG_MODE = 'Y' THEN
7383: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
7384: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7385: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7379: (p_target_project_id IS NULL)
7380: THEN
7381:
7382: IF P_PA_DEBUG_MODE = 'Y' THEN
7383: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
7384: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7385: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7387: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
7380: THEN
7381:
7382: IF P_PA_DEBUG_MODE = 'Y' THEN
7383: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
7384: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7385: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7387: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
7388: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7381:
7382: IF P_PA_DEBUG_MODE = 'Y' THEN
7383: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
7384: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7385: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7387: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
7388: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7389: pa_debug.g_err_stage := 'Target_project'||p_target_project_id;
7382: IF P_PA_DEBUG_MODE = 'Y' THEN
7383: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
7384: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7385: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7387: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
7388: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7389: pa_debug.g_err_stage := 'Target_project'||p_target_project_id;
7390: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7383: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
7384: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7385: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7387: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
7388: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7389: pa_debug.g_err_stage := 'Target_project'||p_target_project_id;
7390: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7391: END IF;
7384: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7385: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7387: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
7388: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7389: pa_debug.g_err_stage := 'Target_project'||p_target_project_id;
7390: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7391: END IF;
7392:
7385: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7387: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
7388: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7389: pa_debug.g_err_stage := 'Target_project'||p_target_project_id;
7390: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7391: END IF;
7392:
7393: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
7386: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7387: pa_debug.g_err_stage := 'Source_project='||p_source_project_id;
7388: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7389: pa_debug.g_err_stage := 'Target_project'||p_target_project_id;
7390: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7391: END IF;
7392:
7393: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
7394: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
7395: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
7396:
7397: END IF;
7398:
7399: IF P_PA_DEBUG_MODE = 'Y' THEN
7400: pa_debug.g_err_stage := 'Parameter validation complete';
7401: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7402: END IF;
7403:
7396:
7397: END IF;
7398:
7399: IF P_PA_DEBUG_MODE = 'Y' THEN
7400: pa_debug.g_err_stage := 'Parameter validation complete';
7401: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7402: END IF;
7403:
7404: --Make shift_days zero if passed as null
7397: END IF;
7398:
7399: IF P_PA_DEBUG_MODE = 'Y' THEN
7400: pa_debug.g_err_stage := 'Parameter validation complete';
7401: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7402: END IF;
7403:
7404: --Make shift_days zero if passed as null
7405:
7404: --Make shift_days zero if passed as null
7405:
7406: l_shift_days := NVL(p_shift_days,0);
7407:
7408: IF P_PA_DEBUG_MODE = 'Y' THEN
7409: pa_debug.g_err_stage:='Shift_days ='|| l_shift_days;
7410: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7411: END IF;
7412:
7405:
7406: l_shift_days := NVL(p_shift_days,0);
7407:
7408: IF P_PA_DEBUG_MODE = 'Y' THEN
7409: pa_debug.g_err_stage:='Shift_days ='|| l_shift_days;
7410: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7411: END IF;
7412:
7413: --Fetch the target versions time phased code
7406: l_shift_days := NVL(p_shift_days,0);
7407:
7408: IF P_PA_DEBUG_MODE = 'Y' THEN
7409: pa_debug.g_err_stage:='Shift_days ='|| l_shift_days;
7410: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7411: END IF;
7412:
7413: --Fetch the target versions time phased code
7414:
7414:
7415: l_target_time_phased_code := PA_FIN_PLAN_UTILS.get_time_phased_code(p_target_plan_version_id);
7416: l_target_budget_entry_level := PA_FIN_PLAN_UTILS.get_fin_plan_level_code(p_target_plan_version_id); /*bug2726011*/
7417:
7418: IF P_PA_DEBUG_MODE = 'Y' THEN
7419: pa_debug.g_err_stage:='Time Phased Code ='|| l_target_time_phased_code;
7420: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7421: pa_debug.g_err_stage:='Budget Entry Level ='|| l_target_budget_entry_level;
7422: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7415: l_target_time_phased_code := PA_FIN_PLAN_UTILS.get_time_phased_code(p_target_plan_version_id);
7416: l_target_budget_entry_level := PA_FIN_PLAN_UTILS.get_fin_plan_level_code(p_target_plan_version_id); /*bug2726011*/
7417:
7418: IF P_PA_DEBUG_MODE = 'Y' THEN
7419: pa_debug.g_err_stage:='Time Phased Code ='|| l_target_time_phased_code;
7420: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7421: pa_debug.g_err_stage:='Budget Entry Level ='|| l_target_budget_entry_level;
7422: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7423: pa_debug.g_err_stage:='Inserting into pa_budget_lines';
7416: l_target_budget_entry_level := PA_FIN_PLAN_UTILS.get_fin_plan_level_code(p_target_plan_version_id); /*bug2726011*/
7417:
7418: IF P_PA_DEBUG_MODE = 'Y' THEN
7419: pa_debug.g_err_stage:='Time Phased Code ='|| l_target_time_phased_code;
7420: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7421: pa_debug.g_err_stage:='Budget Entry Level ='|| l_target_budget_entry_level;
7422: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7423: pa_debug.g_err_stage:='Inserting into pa_budget_lines';
7424: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7417:
7418: IF P_PA_DEBUG_MODE = 'Y' THEN
7419: pa_debug.g_err_stage:='Time Phased Code ='|| l_target_time_phased_code;
7420: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7421: pa_debug.g_err_stage:='Budget Entry Level ='|| l_target_budget_entry_level;
7422: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7423: pa_debug.g_err_stage:='Inserting into pa_budget_lines';
7424: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7425: END IF;
7418: IF P_PA_DEBUG_MODE = 'Y' THEN
7419: pa_debug.g_err_stage:='Time Phased Code ='|| l_target_time_phased_code;
7420: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7421: pa_debug.g_err_stage:='Budget Entry Level ='|| l_target_budget_entry_level;
7422: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7423: pa_debug.g_err_stage:='Inserting into pa_budget_lines';
7424: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7425: END IF;
7426:
7419: pa_debug.g_err_stage:='Time Phased Code ='|| l_target_time_phased_code;
7420: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7421: pa_debug.g_err_stage:='Budget Entry Level ='|| l_target_budget_entry_level;
7422: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7423: pa_debug.g_err_stage:='Inserting into pa_budget_lines';
7424: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7425: END IF;
7426:
7427: IF P_PA_DEBUG_MODE = 'Y' THEN
7420: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7421: pa_debug.g_err_stage:='Budget Entry Level ='|| l_target_budget_entry_level;
7422: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7423: pa_debug.g_err_stage:='Inserting into pa_budget_lines';
7424: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7425: END IF;
7426:
7427: IF P_PA_DEBUG_MODE = 'Y' THEN
7428: pa_debug.g_err_stage := 'Selecting project start and completion dates';
7423: pa_debug.g_err_stage:='Inserting into pa_budget_lines';
7424: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7425: END IF;
7426:
7427: IF P_PA_DEBUG_MODE = 'Y' THEN
7428: pa_debug.g_err_stage := 'Selecting project start and completion dates';
7429: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7430: END IF;
7431:
7424: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7425: END IF;
7426:
7427: IF P_PA_DEBUG_MODE = 'Y' THEN
7428: pa_debug.g_err_stage := 'Selecting project start and completion dates';
7429: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7430: END IF;
7431:
7432: SELECT start_date,
7425: END IF;
7426:
7427: IF P_PA_DEBUG_MODE = 'Y' THEN
7428: pa_debug.g_err_stage := 'Selecting project start and completion dates';
7429: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7430: END IF;
7431:
7432: SELECT start_date,
7433: completion_date
7441: PA_FP_CONSTANTS_PKG.G_TIME_PHASED_CODE_P)
7442: THEN
7443: BEGIN
7444:
7445: IF P_PA_DEBUG_MODE = 'Y' THEN
7446: pa_debug.g_err_stage := 'Selecting project start date';
7447: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7448: END IF;
7449:
7442: THEN
7443: BEGIN
7444:
7445: IF P_PA_DEBUG_MODE = 'Y' THEN
7446: pa_debug.g_err_stage := 'Selecting project start date';
7447: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7448: END IF;
7449:
7450: SELECT p.start_date
7443: BEGIN
7444:
7445: IF P_PA_DEBUG_MODE = 'Y' THEN
7446: pa_debug.g_err_stage := 'Selecting project start date';
7447: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7448: END IF;
7449:
7450: SELECT p.start_date
7451: INTO l_start_date
7453: WHERE p.project_id = p_source_project_id;
7454:
7455: IF l_start_date IS NULL THEN
7456:
7457: IF P_PA_DEBUG_MODE = 'Y' THEN
7458: pa_debug.g_err_stage := 'Selecting task mininum start date';
7459: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7460: END IF;
7461:
7454:
7455: IF l_start_date IS NULL THEN
7456:
7457: IF P_PA_DEBUG_MODE = 'Y' THEN
7458: pa_debug.g_err_stage := 'Selecting task mininum start date';
7459: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7460: END IF;
7461:
7462: SELECt min(t.start_date)
7455: IF l_start_date IS NULL THEN
7456:
7457: IF P_PA_DEBUG_MODE = 'Y' THEN
7458: pa_debug.g_err_stage := 'Selecting task mininum start date';
7459: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7460: END IF;
7461:
7462: SELECt min(t.start_date)
7463: INTO l_start_date
7465: WHERE t.project_id = p_source_project_id;
7466:
7467: IF l_start_date is NULL THEN
7468:
7469: IF P_PA_DEBUG_MODE = 'Y' THEN
7470: pa_debug.g_err_stage := 'Selecting budget lines minimum start date';
7471: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7472: END IF;
7473:
7466:
7467: IF l_start_date is NULL THEN
7468:
7469: IF P_PA_DEBUG_MODE = 'Y' THEN
7470: pa_debug.g_err_stage := 'Selecting budget lines minimum start date';
7471: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7472: END IF;
7473:
7474: SELECT min(bl.start_date)
7467: IF l_start_date is NULL THEN
7468:
7469: IF P_PA_DEBUG_MODE = 'Y' THEN
7470: pa_debug.g_err_stage := 'Selecting budget lines minimum start date';
7471: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
7472: END IF;
7473:
7474: SELECT min(bl.start_date)
7475: INTO l_start_Date
7479: -- If l_start_date is null after the above select it implies
7480: -- there are no budget lines. So return immediately as nothing
7481: -- needs to be copied
7482: IF l_start_Date IS NULL THEN
7483: pa_debug.reset_err_stack;
7484: RETURN;
7485: END IF;
7486:
7487: END IF; /* Mininum Task start date is null */
7488:
7489: END IF; /* Minimum Project start date is null */
7490: EXCEPTION
7491: WHEN OTHERS THEN
7492: IF P_PA_DEBUG_MODE = 'Y' THEN
7493: pa_debug.g_err_stage := 'Error while fetching start date ' || sqlerrm;
7494: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7495: END IF;
7496: RAISE;
7489: END IF; /* Minimum Project start date is null */
7490: EXCEPTION
7491: WHEN OTHERS THEN
7492: IF P_PA_DEBUG_MODE = 'Y' THEN
7493: pa_debug.g_err_stage := 'Error while fetching start date ' || sqlerrm;
7494: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7495: END IF;
7496: RAISE;
7497: END;
7490: EXCEPTION
7491: WHEN OTHERS THEN
7492: IF P_PA_DEBUG_MODE = 'Y' THEN
7493: pa_debug.g_err_stage := 'Error while fetching start date ' || sqlerrm;
7494: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7495: END IF;
7496: RAISE;
7497: END;
7498:
7505: x_err_code => l_err_code,
7506: x_err_stage => l_err_stage,
7507: x_err_stack => l_err_stack);
7508: IF l_err_code <> 0 THEN
7509: IF P_PA_DEBUG_MODE = 'Y' THEN
7510: pa_debug.g_err_stage := 'Exception raised by pa_budget_core.get_periods...';
7511: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7512: END IF;
7513:
7506: x_err_stage => l_err_stage,
7507: x_err_stack => l_err_stack);
7508: IF l_err_code <> 0 THEN
7509: IF P_PA_DEBUG_MODE = 'Y' THEN
7510: pa_debug.g_err_stage := 'Exception raised by pa_budget_core.get_periods...';
7511: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7512: END IF;
7513:
7514: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
7507: x_err_stack => l_err_stack);
7508: IF l_err_code <> 0 THEN
7509: IF P_PA_DEBUG_MODE = 'Y' THEN
7510: pa_debug.g_err_stage := 'Exception raised by pa_budget_core.get_periods...';
7511: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
7512: END IF;
7513:
7514: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
7515: p_msg_name => l_err_stage);
8111: where pra.budget_version_id = p_target_plan_version_id;
8112:
8113: END IF; --l_target_time_phased_code
8114:
8115: IF P_PA_DEBUG_MODE = 'Y' THEN
8116: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines';
8117: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
8118: pa_debug.reset_err_stack;
8119: END IF;
8112:
8113: END IF; --l_target_time_phased_code
8114:
8115: IF P_PA_DEBUG_MODE = 'Y' THEN
8116: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines';
8117: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
8118: pa_debug.reset_err_stack;
8119: END IF;
8120: EXCEPTION
8113: END IF; --l_target_time_phased_code
8114:
8115: IF P_PA_DEBUG_MODE = 'Y' THEN
8116: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines';
8117: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
8118: pa_debug.reset_err_stack;
8119: END IF;
8120: EXCEPTION
8121:
8114:
8115: IF P_PA_DEBUG_MODE = 'Y' THEN
8116: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines';
8117: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,3);
8118: pa_debug.reset_err_stack;
8119: END IF;
8120: EXCEPTION
8121:
8122: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
8136: x_msg_count := l_msg_count;
8137: END IF;
8138:
8139: x_return_status := FND_API.G_RET_STS_ERROR;
8140: IF P_PA_DEBUG_MODE = 'Y' THEN
8141: pa_debug.g_err_stage:='Invalid arguments passed';
8142: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
8143: pa_debug.reset_err_stack;
8144: END IF;
8137: END IF;
8138:
8139: x_return_status := FND_API.G_RET_STS_ERROR;
8140: IF P_PA_DEBUG_MODE = 'Y' THEN
8141: pa_debug.g_err_stage:='Invalid arguments passed';
8142: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
8143: pa_debug.reset_err_stack;
8144: END IF;
8145: RAISE;
8138:
8139: x_return_status := FND_API.G_RET_STS_ERROR;
8140: IF P_PA_DEBUG_MODE = 'Y' THEN
8141: pa_debug.g_err_stage:='Invalid arguments passed';
8142: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
8143: pa_debug.reset_err_stack;
8144: END IF;
8145: RAISE;
8146:
8139: x_return_status := FND_API.G_RET_STS_ERROR;
8140: IF P_PA_DEBUG_MODE = 'Y' THEN
8141: pa_debug.g_err_stage:='Invalid arguments passed';
8142: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,5);
8143: pa_debug.reset_err_stack;
8144: END IF;
8145: RAISE;
8146:
8147: WHEN Others THEN
8150: x_msg_count := 1;
8151: x_msg_data := SQLERRM;
8152: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
8153: ,p_procedure_name => 'COPY_BUDGET_LINES');
8154: IF P_PA_DEBUG_MODE = 'Y' THEN
8155: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
8156: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
8157: pa_debug.reset_err_stack;
8158: END IF;
8151: x_msg_data := SQLERRM;
8152: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
8153: ,p_procedure_name => 'COPY_BUDGET_LINES');
8154: IF P_PA_DEBUG_MODE = 'Y' THEN
8155: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
8156: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
8157: pa_debug.reset_err_stack;
8158: END IF;
8159: RAISE;
8152: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
8153: ,p_procedure_name => 'COPY_BUDGET_LINES');
8154: IF P_PA_DEBUG_MODE = 'Y' THEN
8155: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
8156: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
8157: pa_debug.reset_err_stack;
8158: END IF;
8159: RAISE;
8160:
8153: ,p_procedure_name => 'COPY_BUDGET_LINES');
8154: IF P_PA_DEBUG_MODE = 'Y' THEN
8155: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
8156: pa_debug.write('Copy_Budget_Lines: ' || g_module_name,pa_debug.g_err_stage,6);
8157: pa_debug.reset_err_stack;
8158: END IF;
8159: RAISE;
8160:
8161: END Copy_Budget_Lines;
8196:
8197: x_msg_count := 0;
8198: x_return_status := FND_API.G_RET_STS_SUCCESS;
8199:
8200: IF p_pa_debug_mode = 'Y' THEN
8201: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Current_Period_Profiles');
8202: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
8203: END IF;
8204:
8197: x_msg_count := 0;
8198: x_return_status := FND_API.G_RET_STS_SUCCESS;
8199:
8200: IF p_pa_debug_mode = 'Y' THEN
8201: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Current_Period_Profiles');
8202: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
8203: END IF;
8204:
8205: -- Check for NOT NULL parameters
8198: x_return_status := FND_API.G_RET_STS_SUCCESS;
8199:
8200: IF p_pa_debug_mode = 'Y' THEN
8201: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Current_Period_Profiles');
8202: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
8203: END IF;
8204:
8205: -- Check for NOT NULL parameters
8206:
8207: IF (p_source_project_id IS NULL) OR
8208: (p_target_project_id IS NULL) OR
8209: (p_shift_days IS NULL )
8210: THEN
8211: IF p_pa_debug_mode = 'Y' THEN
8212: pa_debug.g_err_stage := 'Source_project ='||p_source_project_id;
8213: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8214: pa_debug.g_err_stage := 'Target_project ='||p_target_project_id;
8215: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8208: (p_target_project_id IS NULL) OR
8209: (p_shift_days IS NULL )
8210: THEN
8211: IF p_pa_debug_mode = 'Y' THEN
8212: pa_debug.g_err_stage := 'Source_project ='||p_source_project_id;
8213: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8214: pa_debug.g_err_stage := 'Target_project ='||p_target_project_id;
8215: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8216: pa_debug.g_err_stage := 'p_shift_days ='||p_shift_days;
8209: (p_shift_days IS NULL )
8210: THEN
8211: IF p_pa_debug_mode = 'Y' THEN
8212: pa_debug.g_err_stage := 'Source_project ='||p_source_project_id;
8213: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8214: pa_debug.g_err_stage := 'Target_project ='||p_target_project_id;
8215: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8216: pa_debug.g_err_stage := 'p_shift_days ='||p_shift_days;
8217: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8210: THEN
8211: IF p_pa_debug_mode = 'Y' THEN
8212: pa_debug.g_err_stage := 'Source_project ='||p_source_project_id;
8213: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8214: pa_debug.g_err_stage := 'Target_project ='||p_target_project_id;
8215: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8216: pa_debug.g_err_stage := 'p_shift_days ='||p_shift_days;
8217: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8218: END IF;
8211: IF p_pa_debug_mode = 'Y' THEN
8212: pa_debug.g_err_stage := 'Source_project ='||p_source_project_id;
8213: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8214: pa_debug.g_err_stage := 'Target_project ='||p_target_project_id;
8215: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8216: pa_debug.g_err_stage := 'p_shift_days ='||p_shift_days;
8217: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8218: END IF;
8219: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
8212: pa_debug.g_err_stage := 'Source_project ='||p_source_project_id;
8213: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8214: pa_debug.g_err_stage := 'Target_project ='||p_target_project_id;
8215: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8216: pa_debug.g_err_stage := 'p_shift_days ='||p_shift_days;
8217: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8218: END IF;
8219: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
8220: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
8213: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8214: pa_debug.g_err_stage := 'Target_project ='||p_target_project_id;
8215: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8216: pa_debug.g_err_stage := 'p_shift_days ='||p_shift_days;
8217: pa_debug.write(g_module_name,pa_debug.g_err_stage,5);
8218: END IF;
8219: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
8220: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
8221: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8248:
8249: END LOOP;
8250: CLOSE current_period_profiles_cur;
8251:
8252: IF p_pa_debug_mode = 'Y' THEN
8253: pa_debug.g_err_stage:= 'Exiting Copy_Current_Period_Profiles';
8254: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8255: pa_debug.reset_err_stack;
8256: END IF;
8249: END LOOP;
8250: CLOSE current_period_profiles_cur;
8251:
8252: IF p_pa_debug_mode = 'Y' THEN
8253: pa_debug.g_err_stage:= 'Exiting Copy_Current_Period_Profiles';
8254: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8255: pa_debug.reset_err_stack;
8256: END IF;
8257:
8250: CLOSE current_period_profiles_cur;
8251:
8252: IF p_pa_debug_mode = 'Y' THEN
8253: pa_debug.g_err_stage:= 'Exiting Copy_Current_Period_Profiles';
8254: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8255: pa_debug.reset_err_stack;
8256: END IF;
8257:
8258: EXCEPTION
8251:
8252: IF p_pa_debug_mode = 'Y' THEN
8253: pa_debug.g_err_stage:= 'Exiting Copy_Current_Period_Profiles';
8254: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8255: pa_debug.reset_err_stack;
8256: END IF;
8257:
8258: EXCEPTION
8259:
8273: x_msg_count := l_msg_count;
8274: ELSE
8275: x_msg_count := l_msg_count;
8276: END IF;
8277: IF p_pa_debug_mode = 'Y' THEN
8278: pa_debug.reset_err_stack;
8279: END IF;
8280: RAISE;
8281:
8274: ELSE
8275: x_msg_count := l_msg_count;
8276: END IF;
8277: IF p_pa_debug_mode = 'Y' THEN
8278: pa_debug.reset_err_stack;
8279: END IF;
8280: RAISE;
8281:
8282: WHEN others THEN
8287: FND_MSG_PUB.add_exc_msg
8288: ( p_pkg_name => 'PA_FP_COPY_FROM_PKG'
8289: ,p_procedure_name => 'Copy_Current_Period_Profiles'
8290: ,p_error_text => sqlerrm);
8291: IF p_pa_debug_mode = 'Y' THEN
8292: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
8293: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8294: pa_debug.reset_err_stack;
8295: END IF;
8288: ( p_pkg_name => 'PA_FP_COPY_FROM_PKG'
8289: ,p_procedure_name => 'Copy_Current_Period_Profiles'
8290: ,p_error_text => sqlerrm);
8291: IF p_pa_debug_mode = 'Y' THEN
8292: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
8293: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8294: pa_debug.reset_err_stack;
8295: END IF;
8296: RAISE;
8289: ,p_procedure_name => 'Copy_Current_Period_Profiles'
8290: ,p_error_text => sqlerrm);
8291: IF p_pa_debug_mode = 'Y' THEN
8292: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
8293: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8294: pa_debug.reset_err_stack;
8295: END IF;
8296: RAISE;
8297:
8290: ,p_error_text => sqlerrm);
8291: IF p_pa_debug_mode = 'Y' THEN
8292: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
8293: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8294: pa_debug.reset_err_stack;
8295: END IF;
8296: RAISE;
8297:
8298: END Copy_Current_Period_Profiles;
8380: BEGIN
8381:
8382: x_msg_count := 0;
8383: x_return_status := FND_API.G_RET_STS_SUCCESS;
8384: IF P_PA_DEBUG_MODE = 'Y' THEN
8385: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Get_Create_Shifted_PD_Profile');
8386: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
8387: END IF;
8388: -- Check for NOT NULL parameters
8381:
8382: x_msg_count := 0;
8383: x_return_status := FND_API.G_RET_STS_SUCCESS;
8384: IF P_PA_DEBUG_MODE = 'Y' THEN
8385: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Get_Create_Shifted_PD_Profile');
8386: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
8387: END IF;
8388: -- Check for NOT NULL parameters
8389:
8382: x_msg_count := 0;
8383: x_return_status := FND_API.G_RET_STS_SUCCESS;
8384: IF P_PA_DEBUG_MODE = 'Y' THEN
8385: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Get_Create_Shifted_PD_Profile');
8386: pa_debug.set_process('PLSQL','LOG',p_pa_debug_mode);
8387: END IF;
8388: -- Check for NOT NULL parameters
8389:
8390: IF (p_target_project_id IS NULL) OR
8390: IF (p_target_project_id IS NULL) OR
8391: (p_source_period_profile_id IS NULL) OR
8392: (p_shift_days IS NULL)
8393: THEN
8394: IF p_pa_debug_mode = 'Y' THEN
8395: pa_debug.g_err_stage:= 'p_target_project_id = '|| p_target_project_id;
8396: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8397: pa_debug.g_err_stage:= 'p_source_period_profile_id = '|| p_source_period_profile_id;
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8391: (p_source_period_profile_id IS NULL) OR
8392: (p_shift_days IS NULL)
8393: THEN
8394: IF p_pa_debug_mode = 'Y' THEN
8395: pa_debug.g_err_stage:= 'p_target_project_id = '|| p_target_project_id;
8396: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8397: pa_debug.g_err_stage:= 'p_source_period_profile_id = '|| p_source_period_profile_id;
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8399: pa_debug.g_err_stage:= 'p_shift_days = '|| p_shift_days;
8392: (p_shift_days IS NULL)
8393: THEN
8394: IF p_pa_debug_mode = 'Y' THEN
8395: pa_debug.g_err_stage:= 'p_target_project_id = '|| p_target_project_id;
8396: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8397: pa_debug.g_err_stage:= 'p_source_period_profile_id = '|| p_source_period_profile_id;
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8399: pa_debug.g_err_stage:= 'p_shift_days = '|| p_shift_days;
8400: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8393: THEN
8394: IF p_pa_debug_mode = 'Y' THEN
8395: pa_debug.g_err_stage:= 'p_target_project_id = '|| p_target_project_id;
8396: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8397: pa_debug.g_err_stage:= 'p_source_period_profile_id = '|| p_source_period_profile_id;
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8399: pa_debug.g_err_stage:= 'p_shift_days = '|| p_shift_days;
8400: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8401: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
8394: IF p_pa_debug_mode = 'Y' THEN
8395: pa_debug.g_err_stage:= 'p_target_project_id = '|| p_target_project_id;
8396: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8397: pa_debug.g_err_stage:= 'p_source_period_profile_id = '|| p_source_period_profile_id;
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8399: pa_debug.g_err_stage:= 'p_shift_days = '|| p_shift_days;
8400: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8401: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
8402: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8395: pa_debug.g_err_stage:= 'p_target_project_id = '|| p_target_project_id;
8396: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8397: pa_debug.g_err_stage:= 'p_source_period_profile_id = '|| p_source_period_profile_id;
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8399: pa_debug.g_err_stage:= 'p_shift_days = '|| p_shift_days;
8400: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8401: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
8402: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8403: END IF;
8396: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8397: pa_debug.g_err_stage:= 'p_source_period_profile_id = '|| p_source_period_profile_id;
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8399: pa_debug.g_err_stage:= 'p_shift_days = '|| p_shift_days;
8400: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8401: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
8402: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8403: END IF;
8404: PA_UTILS.ADD_MESSAGE
8397: pa_debug.g_err_stage:= 'p_source_period_profile_id = '|| p_source_period_profile_id;
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8399: pa_debug.g_err_stage:= 'p_shift_days = '|| p_shift_days;
8400: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8401: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
8402: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8403: END IF;
8404: PA_UTILS.ADD_MESSAGE
8405: (p_app_short_name => 'PA',
8398: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8399: pa_debug.g_err_stage:= 'p_shift_days = '|| p_shift_days;
8400: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8401: pa_debug.g_err_stage:= 'Invalid Arguments Passed';
8402: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8403: END IF;
8404: PA_UTILS.ADD_MESSAGE
8405: (p_app_short_name => 'PA',
8406: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
8417:
8418: IF g_source_period_profile_tbl(i) = p_source_period_profile_id
8419: THEN
8420: x_target_period_profile_id := g_target_period_profile_tbl(i);
8421: IF P_PA_DEBUG_MODE = 'Y' THEN
8422: pa_debug.reset_err_stack;
8423: END IF;
8424: RETURN;
8425: END IF;
8418: IF g_source_period_profile_tbl(i) = p_source_period_profile_id
8419: THEN
8420: x_target_period_profile_id := g_target_period_profile_tbl(i);
8421: IF P_PA_DEBUG_MODE = 'Y' THEN
8422: pa_debug.reset_err_stack;
8423: END IF;
8424: RETURN;
8425: END IF;
8426: END LOOP;
8429: -- If no corresponding target period profile has been already created,
8430: -- then create one.
8431:
8432: -- Fetch the source period profile details
8433: IF p_pa_debug_mode = 'Y' THEN
8434: pa_debug.g_err_stage:= 'Opening source_profile_info_cur';
8435: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8436: END IF;
8437:
8430: -- then create one.
8431:
8432: -- Fetch the source period profile details
8433: IF p_pa_debug_mode = 'Y' THEN
8434: pa_debug.g_err_stage:= 'Opening source_profile_info_cur';
8435: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8436: END IF;
8437:
8438: OPEN source_profile_info_cur(p_source_period_profile_id);
8431:
8432: -- Fetch the source period profile details
8433: IF p_pa_debug_mode = 'Y' THEN
8434: pa_debug.g_err_stage:= 'Opening source_profile_info_cur';
8435: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8436: END IF;
8437:
8438: OPEN source_profile_info_cur(p_source_period_profile_id);
8439: FETCH source_profile_info_cur INTO source_profile_info_rec;
8465: AND p.Org_Id =a.Org_Id
8466: AND a.set_of_books_id = b.set_of_books_id;
8467: EXCEPTION
8468: WHEN OTHERS THEN
8469: IF p_pa_debug_mode = 'Y' THEN
8470: pa_debug.g_err_stage:= 'Unexp Error while fetching the accounted period type||SQLERRM';
8471: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8472: END IF;
8473: RAISE;
8466: AND a.set_of_books_id = b.set_of_books_id;
8467: EXCEPTION
8468: WHEN OTHERS THEN
8469: IF p_pa_debug_mode = 'Y' THEN
8470: pa_debug.g_err_stage:= 'Unexp Error while fetching the accounted period type||SQLERRM';
8471: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8472: END IF;
8473: RAISE;
8474: END;
8467: EXCEPTION
8468: WHEN OTHERS THEN
8469: IF p_pa_debug_mode = 'Y' THEN
8470: pa_debug.g_err_stage:= 'Unexp Error while fetching the accounted period type||SQLERRM';
8471: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8472: END IF;
8473: RAISE;
8474: END;
8475:
8475:
8476:
8477: -- Fetch the target project start and completion dates
8478: -- Fetch the GL/PA periods into which the target project start and completion dates fall.
8479: IF p_pa_debug_mode = 'Y' THEN
8480: pa_debug.g_err_stage:= 'Calling Pa_Prj_Period_Profile_Utils.Get_Prj_Defaults';
8481: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8482: END IF;
8483:
8476:
8477: -- Fetch the target project start and completion dates
8478: -- Fetch the GL/PA periods into which the target project start and completion dates fall.
8479: IF p_pa_debug_mode = 'Y' THEN
8480: pa_debug.g_err_stage:= 'Calling Pa_Prj_Period_Profile_Utils.Get_Prj_Defaults';
8481: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8482: END IF;
8483:
8484: Pa_Prj_Period_Profile_Utils.Get_Prj_Defaults(
8477: -- Fetch the target project start and completion dates
8478: -- Fetch the GL/PA periods into which the target project start and completion dates fall.
8479: IF p_pa_debug_mode = 'Y' THEN
8480: pa_debug.g_err_stage:= 'Calling Pa_Prj_Period_Profile_Utils.Get_Prj_Defaults';
8481: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8482: END IF;
8483:
8484: Pa_Prj_Period_Profile_Utils.Get_Prj_Defaults(
8485: p_project_id => p_target_project_id
8507:
8508: END IF;
8509:
8510: -- Shift the source period profile start date by p_shift_days input.
8511: IF p_pa_debug_mode = 'Y' THEN
8512: pa_debug.g_err_stage:= 'Shifting source period profile by shift days i/p';
8513: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8514: END IF;
8515:
8508: END IF;
8509:
8510: -- Shift the source period profile start date by p_shift_days input.
8511: IF p_pa_debug_mode = 'Y' THEN
8512: pa_debug.g_err_stage:= 'Shifting source period profile by shift days i/p';
8513: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8514: END IF;
8515:
8516: BEGIN /* Bug 2987076 - If shifted period is not available then return without creating the period profile */
8509:
8510: -- Shift the source period profile start date by p_shift_days input.
8511: IF p_pa_debug_mode = 'Y' THEN
8512: pa_debug.g_err_stage:= 'Shifting source period profile by shift days i/p';
8513: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8514: END IF;
8515:
8516: BEGIN /* Bug 2987076 - If shifted period is not available then return without creating the period profile */
8517:
8540: END IF;
8541: EXCEPTION
8542: WHEN NO_DATA_FOUND THEN
8543:
8544: IF p_pa_debug_mode = 'Y' THEN
8545: pa_debug.g_err_stage:= 'Periods not available in system for the shifted dates!!!!';
8546: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8547: pa_debug.g_err_stage:= 'Period profile is not created.....';
8548: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8541: EXCEPTION
8542: WHEN NO_DATA_FOUND THEN
8543:
8544: IF p_pa_debug_mode = 'Y' THEN
8545: pa_debug.g_err_stage:= 'Periods not available in system for the shifted dates!!!!';
8546: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8547: pa_debug.g_err_stage:= 'Period profile is not created.....';
8548: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8549: END IF;
8542: WHEN NO_DATA_FOUND THEN
8543:
8544: IF p_pa_debug_mode = 'Y' THEN
8545: pa_debug.g_err_stage:= 'Periods not available in system for the shifted dates!!!!';
8546: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8547: pa_debug.g_err_stage:= 'Period profile is not created.....';
8548: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8549: END IF;
8550:
8543:
8544: IF p_pa_debug_mode = 'Y' THEN
8545: pa_debug.g_err_stage:= 'Periods not available in system for the shifted dates!!!!';
8546: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8547: pa_debug.g_err_stage:= 'Period profile is not created.....';
8548: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8549: END IF;
8550:
8551: l_create_period_profile := 'N';
8544: IF p_pa_debug_mode = 'Y' THEN
8545: pa_debug.g_err_stage:= 'Periods not available in system for the shifted dates!!!!';
8546: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8547: pa_debug.g_err_stage:= 'Period profile is not created.....';
8548: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8549: END IF;
8550:
8551: l_create_period_profile := 'N';
8552:
8555: IF l_create_period_profile = 'Y' THEN /* Bug 2987076 */
8556:
8557: -- Fetch the target profile end period by shifting the fetching the target profile start period forward
8558: -- by the number of periods of the source period profile
8559: IF p_pa_debug_mode = 'Y' THEN
8560: pa_debug.g_err_stage:= 'Calling get_Shifted_period';
8561: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8562: END IF;
8563:
8556:
8557: -- Fetch the target profile end period by shifting the fetching the target profile start period forward
8558: -- by the number of periods of the source period profile
8559: IF p_pa_debug_mode = 'Y' THEN
8560: pa_debug.g_err_stage:= 'Calling get_Shifted_period';
8561: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8562: END IF;
8563:
8564: PA_FIN_PLAN_UTILS.Get_Shifted_Period (
8557: -- Fetch the target profile end period by shifting the fetching the target profile start period forward
8558: -- by the number of periods of the source period profile
8559: IF p_pa_debug_mode = 'Y' THEN
8560: pa_debug.g_err_stage:= 'Calling get_Shifted_period';
8561: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8562: END IF;
8563:
8564: PA_FIN_PLAN_UTILS.Get_Shifted_Period (
8565: p_period_name => l_start_period
8571: ,x_return_status => l_return_status
8572: ,x_msg_count => l_msg_count
8573: ,x_msg_data => l_msg_data );
8574:
8575: IF p_pa_debug_mode = 'Y' THEN
8576: pa_debug.g_err_stage:= 'l_end_period_start_date ='||l_end_period_start_date;
8577: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8578: pa_debug.g_err_stage:= 'l_prj_end_date=' || l_prj_end_date;
8579: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8572: ,x_msg_count => l_msg_count
8573: ,x_msg_data => l_msg_data );
8574:
8575: IF p_pa_debug_mode = 'Y' THEN
8576: pa_debug.g_err_stage:= 'l_end_period_start_date ='||l_end_period_start_date;
8577: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8578: pa_debug.g_err_stage:= 'l_prj_end_date=' || l_prj_end_date;
8579: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8580: END IF;
8573: ,x_msg_data => l_msg_data );
8574:
8575: IF p_pa_debug_mode = 'Y' THEN
8576: pa_debug.g_err_stage:= 'l_end_period_start_date ='||l_end_period_start_date;
8577: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8578: pa_debug.g_err_stage:= 'l_prj_end_date=' || l_prj_end_date;
8579: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8580: END IF;
8581:
8574:
8575: IF p_pa_debug_mode = 'Y' THEN
8576: pa_debug.g_err_stage:= 'l_end_period_start_date ='||l_end_period_start_date;
8577: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8578: pa_debug.g_err_stage:= 'l_prj_end_date=' || l_prj_end_date;
8579: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8580: END IF;
8581:
8582: IF (l_prj_end_date IS NOT NULL) AND
8575: IF p_pa_debug_mode = 'Y' THEN
8576: pa_debug.g_err_stage:= 'l_end_period_start_date ='||l_end_period_start_date;
8577: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8578: pa_debug.g_err_stage:= 'l_prj_end_date=' || l_prj_end_date;
8579: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8580: END IF;
8581:
8582: IF (l_prj_end_date IS NOT NULL) AND
8583: (to_date(l_prj_end_date,'rrrr/mm/dd') < l_end_period_start_date)
8635: END IF;
8636:
8637: -- Call Maintain_Prj_Period_Profile
8638:
8639: IF p_pa_debug_mode = 'Y' THEN
8640: pa_debug.g_err_stage:= 'Calling Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile';
8641: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8642: END IF;
8643:
8636:
8637: -- Call Maintain_Prj_Period_Profile
8638:
8639: IF p_pa_debug_mode = 'Y' THEN
8640: pa_debug.g_err_stage:= 'Calling Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile';
8641: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8642: END IF;
8643:
8644: Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile(
8637: -- Call Maintain_Prj_Period_Profile
8638:
8639: IF p_pa_debug_mode = 'Y' THEN
8640: pa_debug.g_err_stage:= 'Calling Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile';
8641: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8642: END IF;
8643:
8644: Pa_Prj_Period_Profile_Utils.Maintain_Prj_Period_Profile(
8645: p_project_id => p_target_project_id
8668: g_target_period_profile_tbl(l_index) := x_target_period_profile_id;
8669:
8670: END IF; /* l_create_period_profile = 'Y' */
8671:
8672: IF p_pa_debug_mode = 'Y' THEN
8673: pa_debug.g_err_stage:= 'Exiting Get_Create_Shifted_PD_Profile';
8674: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8675: pa_debug.reset_err_stack;
8676: END IF;
8669:
8670: END IF; /* l_create_period_profile = 'Y' */
8671:
8672: IF p_pa_debug_mode = 'Y' THEN
8673: pa_debug.g_err_stage:= 'Exiting Get_Create_Shifted_PD_Profile';
8674: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8675: pa_debug.reset_err_stack;
8676: END IF;
8677: EXCEPTION
8670: END IF; /* l_create_period_profile = 'Y' */
8671:
8672: IF p_pa_debug_mode = 'Y' THEN
8673: pa_debug.g_err_stage:= 'Exiting Get_Create_Shifted_PD_Profile';
8674: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8675: pa_debug.reset_err_stack;
8676: END IF;
8677: EXCEPTION
8678:
8671:
8672: IF p_pa_debug_mode = 'Y' THEN
8673: pa_debug.g_err_stage:= 'Exiting Get_Create_Shifted_PD_Profile';
8674: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL3);
8675: pa_debug.reset_err_stack;
8676: END IF;
8677: EXCEPTION
8678:
8679: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
8692: x_msg_count := l_msg_count;
8693: ELSE
8694: x_msg_count := l_msg_count;
8695: END IF;
8696: IF P_PA_DEBUG_MODE = 'Y' THEN
8697: pa_debug.reset_err_stack;
8698: END IF;
8699: RAISE;
8700:
8693: ELSE
8694: x_msg_count := l_msg_count;
8695: END IF;
8696: IF P_PA_DEBUG_MODE = 'Y' THEN
8697: pa_debug.reset_err_stack;
8698: END IF;
8699: RAISE;
8700:
8701: WHEN others THEN
8706: FND_MSG_PUB.add_exc_msg
8707: ( p_pkg_name => 'PA_FP_COPY_FROM_PKG'
8708: ,p_procedure_name => 'Get_Create_Shifted_PD_Profile'
8709: ,p_error_text => sqlerrm);
8710: IF p_pa_debug_mode = 'Y' THEN
8711: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
8712: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8713: pa_debug.reset_err_stack;
8714: END IF;
8707: ( p_pkg_name => 'PA_FP_COPY_FROM_PKG'
8708: ,p_procedure_name => 'Get_Create_Shifted_PD_Profile'
8709: ,p_error_text => sqlerrm);
8710: IF p_pa_debug_mode = 'Y' THEN
8711: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
8712: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8713: pa_debug.reset_err_stack;
8714: END IF;
8715: RAISE;
8708: ,p_procedure_name => 'Get_Create_Shifted_PD_Profile'
8709: ,p_error_text => sqlerrm);
8710: IF p_pa_debug_mode = 'Y' THEN
8711: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
8712: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8713: pa_debug.reset_err_stack;
8714: END IF;
8715: RAISE;
8716: END Get_Create_Shifted_PD_Profile;
8709: ,p_error_text => sqlerrm);
8710: IF p_pa_debug_mode = 'Y' THEN
8711: pa_debug.g_err_stage:= 'Unexpected Error'||SQLERRM;
8712: pa_debug.write(g_module_name,pa_debug.g_err_stage,PA_FP_CONSTANTS_PKG.G_DEBUG_LEVEL5);
8713: pa_debug.reset_err_stack;
8714: END IF;
8715: RAISE;
8716: END Get_Create_Shifted_PD_Profile;
8717:
8825: x_msg_count := 0;
8826: x_return_status := FND_API.G_RET_STS_SUCCESS;
8827: SAVEPOINT copy_wp_budget_versions;
8828:
8829: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
8830: l_debug_mode := NVL(l_debug_mode, 'Y');
8831:
8832: -- Set curr function
8833:
8831:
8832: -- Set curr function
8833:
8834: IF l_debug_mode = 'Y' THEN
8835: pa_debug.set_curr_function(
8836: p_function =>'pafpcpfb.copy_wp_budget_versions'
8837: ,p_debug_mode => l_debug_mode );
8838:
8839: pa_debug.g_err_stage:='Validating input parameters';
8835: pa_debug.set_curr_function(
8836: p_function =>'pafpcpfb.copy_wp_budget_versions'
8837: ,p_debug_mode => l_debug_mode );
8838:
8839: pa_debug.g_err_stage:='Validating input parameters';
8840: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
8841: END IF;
8842:
8843:
8836: p_function =>'pafpcpfb.copy_wp_budget_versions'
8837: ,p_debug_mode => l_debug_mode );
8838:
8839: pa_debug.g_err_stage:='Validating input parameters';
8840: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
8841: END IF;
8842:
8843:
8844: -- Source and target sv id tables should have same number of records
8849: AND p_src_sv_ids_tbl.count <> p_copy_act_from_str_ids_tbl.count)
8850: THEN
8851:
8852: IF l_debug_mode = 'Y' THEN
8853: pa_debug.g_err_stage:='p_src_sv_ids_tbl.count is'|| p_src_sv_ids_tbl.count ;
8854: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8855:
8856: pa_debug.g_err_stage:='p_target_sv_ids_tbl.count is'|| p_target_sv_ids_tbl.count ;
8857: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8850: THEN
8851:
8852: IF l_debug_mode = 'Y' THEN
8853: pa_debug.g_err_stage:='p_src_sv_ids_tbl.count is'|| p_src_sv_ids_tbl.count ;
8854: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8855:
8856: pa_debug.g_err_stage:='p_target_sv_ids_tbl.count is'|| p_target_sv_ids_tbl.count ;
8857: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8858:
8852: IF l_debug_mode = 'Y' THEN
8853: pa_debug.g_err_stage:='p_src_sv_ids_tbl.count is'|| p_src_sv_ids_tbl.count ;
8854: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8855:
8856: pa_debug.g_err_stage:='p_target_sv_ids_tbl.count is'|| p_target_sv_ids_tbl.count ;
8857: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8858:
8859: IF p_copy_act_from_str_ids_tbl IS NOT NULL THEN
8860: pa_debug.g_err_stage:='p_copy_act_from_str_ids_tbl.count is'
8853: pa_debug.g_err_stage:='p_src_sv_ids_tbl.count is'|| p_src_sv_ids_tbl.count ;
8854: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8855:
8856: pa_debug.g_err_stage:='p_target_sv_ids_tbl.count is'|| p_target_sv_ids_tbl.count ;
8857: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8858:
8859: IF p_copy_act_from_str_ids_tbl IS NOT NULL THEN
8860: pa_debug.g_err_stage:='p_copy_act_from_str_ids_tbl.count is'
8861: || p_copy_act_from_str_ids_tbl.count ;
8856: pa_debug.g_err_stage:='p_target_sv_ids_tbl.count is'|| p_target_sv_ids_tbl.count ;
8857: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8858:
8859: IF p_copy_act_from_str_ids_tbl IS NOT NULL THEN
8860: pa_debug.g_err_stage:='p_copy_act_from_str_ids_tbl.count is'
8861: || p_copy_act_from_str_ids_tbl.count ;
8862: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8863: END IF;
8864: END IF;
8858:
8859: IF p_copy_act_from_str_ids_tbl IS NOT NULL THEN
8860: pa_debug.g_err_stage:='p_copy_act_from_str_ids_tbl.count is'
8861: || p_copy_act_from_str_ids_tbl.count ;
8862: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8863: END IF;
8864: END IF;
8865:
8866: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
8874: --If the tables are empty then return
8875: IF p_src_sv_ids_tbl.count=0 THEN
8876:
8877: IF l_debug_mode = 'Y' THEN
8878: pa_debug.g_err_stage:='The input tables are empty' ;
8879: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8880: pa_debug.reset_curr_function;
8881: END IF;
8882: RETURN;
8875: IF p_src_sv_ids_tbl.count=0 THEN
8876:
8877: IF l_debug_mode = 'Y' THEN
8878: pa_debug.g_err_stage:='The input tables are empty' ;
8879: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8880: pa_debug.reset_curr_function;
8881: END IF;
8882: RETURN;
8883:
8876:
8877: IF l_debug_mode = 'Y' THEN
8878: pa_debug.g_err_stage:='The input tables are empty' ;
8879: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8880: pa_debug.reset_curr_function;
8881: END IF;
8882: RETURN;
8883:
8884: END IF;
8888: IF p_source_project_id IS NULL OR
8889: p_target_project_id IS NULL THEN
8890:
8891: IF l_debug_mode = 'Y' THEN
8892: pa_debug.g_err_stage:='p_source_project_id is '||p_source_project_id;
8893: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8894:
8895: pa_debug.g_err_stage:='p_target_project_id is '||p_target_project_id;
8896: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8889: p_target_project_id IS NULL THEN
8890:
8891: IF l_debug_mode = 'Y' THEN
8892: pa_debug.g_err_stage:='p_source_project_id is '||p_source_project_id;
8893: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8894:
8895: pa_debug.g_err_stage:='p_target_project_id is '||p_target_project_id;
8896: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8897: END IF;
8891: IF l_debug_mode = 'Y' THEN
8892: pa_debug.g_err_stage:='p_source_project_id is '||p_source_project_id;
8893: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8894:
8895: pa_debug.g_err_stage:='p_target_project_id is '||p_target_project_id;
8896: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8897: END IF;
8898:
8899: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
8892: pa_debug.g_err_stage:='p_source_project_id is '||p_source_project_id;
8893: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8894:
8895: pa_debug.g_err_stage:='p_target_project_id is '||p_target_project_id;
8896: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8897: END IF;
8898:
8899: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
8900: p_msg_name => 'PA_FP_INV_PARAM_PASSED');
8913:
8914: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8915:
8916: IF l_debug_mode = 'Y' THEN
8917: pa_debug.g_err_stage:='pa_fp_planning_transaction_pub.add_wp_plan_type returned error';
8918: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8919: END IF;
8920: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8921:
8914: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8915:
8916: IF l_debug_mode = 'Y' THEN
8917: pa_debug.g_err_stage:='pa_fp_planning_transaction_pub.add_wp_plan_type returned error';
8918: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8919: END IF;
8920: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8921:
8922: END IF;
8928: WHERE use_for_workplan_flag='Y';
8929: EXCEPTION
8930: WHEN NO_DATA_FOUND THEN
8931: IF l_debug_mode = 'Y' THEN
8932: pa_debug.g_err_stage:='Adding an error message as the wp plan type is not defined';
8933: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
8934: END IF;
8935: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
8936: p_msg_name => 'PA_FP_NO_WP_PLAN_TYPE');
8929: EXCEPTION
8930: WHEN NO_DATA_FOUND THEN
8931: IF l_debug_mode = 'Y' THEN
8932: pa_debug.g_err_stage:='Adding an error message as the wp plan type is not defined';
8933: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
8934: END IF;
8935: PA_UTILS.ADD_MESSAGE(p_app_short_name => 'PA',
8936: p_msg_name => 'PA_FP_NO_WP_PLAN_TYPE');
8937: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8937: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8938: END;
8939:
8940: IF l_debug_mode = 'Y' THEN
8941: pa_debug.g_err_stage:='About to loop thru the source version id tbl '||p_src_sv_ids_tbl.count;
8942: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
8943: END IF;
8944:
8945: --Loop thru the source structure version ids table and process each structure version id
8938: END;
8939:
8940: IF l_debug_mode = 'Y' THEN
8941: pa_debug.g_err_stage:='About to loop thru the source version id tbl '||p_src_sv_ids_tbl.count;
8942: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
8943: END IF;
8944:
8945: --Loop thru the source structure version ids table and process each structure version id
8946: FOR i IN p_src_sv_ids_tbl.first..p_src_sv_ids_tbl.last LOOP
8967: --Bug 3841130. As told by sheenie copy external flag should always be N in copy_wp_budget_versions.
8968: l_copy_external_flag := 'N';
8969:
8970: IF l_debug_mode = 'Y' THEN
8971: pa_debug.g_err_stage:='Calling copy budget version';
8972: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
8973: END IF;
8974:
8975: --Call the method that copies the budget version
8968: l_copy_external_flag := 'N';
8969:
8970: IF l_debug_mode = 'Y' THEN
8971: pa_debug.g_err_stage:='Calling copy budget version';
8972: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
8973: END IF;
8974:
8975: --Call the method that copies the budget version
8976: pa_fp_copy_from_pkg.copy_budget_version
8989:
8990: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8991:
8992: IF l_debug_mode = 'Y' THEN
8993: pa_debug.g_err_stage:='Copy Budget version returned error';
8994: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8995: END IF;
8996: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8997:
8990: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
8991:
8992: IF l_debug_mode = 'Y' THEN
8993: pa_debug.g_err_stage:='Copy Budget version returned error';
8994: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
8995: END IF;
8996: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
8997:
8998: END IF;
9007: EXCEPTION
9008: WHEN NO_DATA_FOUND THEN
9009:
9010: IF l_debug_mode = 'Y' THEN
9011: pa_debug.g_err_stage:='No data found in pa_proj_fp_options for fin_plan_version_id '
9012: ||l_src_budget_version_id;
9013: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9014: END IF;
9015: RAISE;
9009:
9010: IF l_debug_mode = 'Y' THEN
9011: pa_debug.g_err_stage:='No data found in pa_proj_fp_options for fin_plan_version_id '
9012: ||l_src_budget_version_id;
9013: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9014: END IF;
9015: RAISE;
9016:
9017: END;
9016:
9017: END;
9018:
9019: IF l_debug_mode = 'Y' THEN
9020: pa_debug.g_err_stage:='Create FP Option';
9021: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9022: END IF;
9023:
9024: --Call the method to create the FP Option
9017: END;
9018:
9019: IF l_debug_mode = 'Y' THEN
9020: pa_debug.g_err_stage:='Create FP Option';
9021: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9022: END IF;
9023:
9024: --Call the method to create the FP Option
9025: PA_PROJ_FP_OPTIONS_PUB.Create_Fp_Option
9037:
9038: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9039:
9040: IF l_debug_mode = 'Y' THEN
9041: pa_debug.g_err_stage:='Create_Fp_Option returned error';
9042: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9043: END IF;
9044: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9045:
9038: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9039:
9040: IF l_debug_mode = 'Y' THEN
9041: pa_debug.g_err_stage:='Create_Fp_Option returned error';
9042: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9043: END IF;
9044: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9045:
9046: END IF;
9051: FROM pa_proj_fp_options
9052: WHERE proj_fp_options_id=l_targ_proj_fp_options_id;
9053:
9054: IF l_debug_mode = 'Y' THEN
9055: pa_debug.g_err_stage:='Calling copy fp txn currencies';
9056: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9057: END IF;
9058:
9059: --Call the API to create the txn currencies
9052: WHERE proj_fp_options_id=l_targ_proj_fp_options_id;
9053:
9054: IF l_debug_mode = 'Y' THEN
9055: pa_debug.g_err_stage:='Calling copy fp txn currencies';
9056: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9057: END IF;
9058:
9059: --Call the API to create the txn currencies
9060: PA_FP_TXN_CURRENCIES_PUB.Copy_Fp_Txn_Currencies(
9068:
9069: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9070:
9071: IF l_debug_mode = 'Y' THEN
9072: pa_debug.g_err_stage:='Copy_Fp_Txn_Currencies returned error';
9073: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9074: END IF;
9075: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9076:
9069: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9070:
9071: IF l_debug_mode = 'Y' THEN
9072: pa_debug.g_err_stage:='Copy_Fp_Txn_Currencies returned error';
9073: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9074: END IF;
9075: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9076:
9077: END IF;
9087: l_src_budget_version_id_tbl.delete;
9088: l_src_budget_version_id_tbl := SYSTEM.pa_num_tbl_type(l_src_budget_version_id);
9089:
9090: IF l_debug_mode = 'Y' THEN
9091: pa_debug.write(l_module_name,'Calling PJI_FM_XBS_ACCUM_MAINT.PLAN_CREATE ' ,5);
9092: pa_debug.write(l_module_name,'p_fp_version_ids count '|| l_budget_version_ids.count(),5);
9093: END IF;
9094:
9095: /* We are sure that there is only one record. But just looping the std way */
9088: l_src_budget_version_id_tbl := SYSTEM.pa_num_tbl_type(l_src_budget_version_id);
9089:
9090: IF l_debug_mode = 'Y' THEN
9091: pa_debug.write(l_module_name,'Calling PJI_FM_XBS_ACCUM_MAINT.PLAN_CREATE ' ,5);
9092: pa_debug.write(l_module_name,'p_fp_version_ids count '|| l_budget_version_ids.count(),5);
9093: END IF;
9094:
9095: /* We are sure that there is only one record. But just looping the std way */
9096: FOR I in l_budget_version_ids.first..l_budget_version_ids.last LOOP
9093: END IF;
9094:
9095: /* We are sure that there is only one record. But just looping the std way */
9096: FOR I in l_budget_version_ids.first..l_budget_version_ids.last LOOP
9097: pa_debug.write(l_module_name,''|| l_budget_version_ids(i),5);
9098: END LOOP;
9099: -- This parameter p_copy_mode will be used when the source project is not equal to the target project.
9100: --This will be passed as null in the MSP flow other wise it will be defaulted to 'P'.
9101: IF p_source_project_id <> p_target_project_id THEN
9120:
9121:
9122:
9123: IF l_debug_mode = 'Y' THEN
9124: pa_debug.g_err_stage:='Bulk fetching the Ids for calling copy planning txn'||' '||p_src_sv_ids_tbl(i)||' '||p_target_sv_ids_tbl(i);
9125: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9126: END IF;
9127:
9128: OPEN l_prep_plan_txn_csr( l_src_budget_version_id
9121:
9122:
9123: IF l_debug_mode = 'Y' THEN
9124: pa_debug.g_err_stage:='Bulk fetching the Ids for calling copy planning txn'||' '||p_src_sv_ids_tbl(i)||' '||p_target_sv_ids_tbl(i);
9125: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9126: END IF;
9127:
9128: OPEN l_prep_plan_txn_csr( l_src_budget_version_id
9129: ,p_src_sv_ids_tbl(i)
9134: ,l_targ_elem_version_id_tbl;
9135: CLOSE l_prep_plan_txn_csr;
9136:
9137: IF l_debug_mode = 'Y' THEN
9138: pa_debug.g_err_stage:='Calling copy planning txns after uncommenting';
9139: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9140: END IF;
9141:
9142:
9135: CLOSE l_prep_plan_txn_csr;
9136:
9137: IF l_debug_mode = 'Y' THEN
9138: pa_debug.g_err_stage:='Calling copy planning txns after uncommenting';
9139: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9140: END IF;
9141:
9142:
9143:
9162:
9163: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9164:
9165: IF l_debug_mode = 'Y' THEN
9166: pa_debug.g_err_stage:='Copy_Fp_Txn_Currencies returned error';
9167: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9168: END IF;
9169: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9170:
9163: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9164:
9165: IF l_debug_mode = 'Y' THEN
9166: pa_debug.g_err_stage:='Copy_Fp_Txn_Currencies returned error';
9167: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9168: END IF;
9169: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9170:
9171: END IF;
9184:
9185: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9186:
9187: IF l_debug_mode = 'Y' THEN
9188: pa_debug.g_err_stage:='Update_Plan_Setup_For_WP_Copy returned error';
9189: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9190: END IF;
9191: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9192: END IF;
9185: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9186:
9187: IF l_debug_mode = 'Y' THEN
9188: pa_debug.g_err_stage:='Update_Plan_Setup_For_WP_Copy returned error';
9189: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9190: END IF;
9191: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9192: END IF;
9193:
9211: );
9212: EXCEPTION
9213: WHEN OTHERS THEN
9214: IF l_debug_mode = 'Y' THEN
9215: pa_debug.g_err_stage:='PA_TASK_ASSIGNMENTS_PVT.Copy_Missing_Unplanned_Asgmts returned error';
9216: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9217: END IF;
9218: RAISE FND_API.G_EXC_ERROR;
9219: END;
9212: EXCEPTION
9213: WHEN OTHERS THEN
9214: IF l_debug_mode = 'Y' THEN
9215: pa_debug.g_err_stage:='PA_TASK_ASSIGNMENTS_PVT.Copy_Missing_Unplanned_Asgmts returned error';
9216: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9217: END IF;
9218: RAISE FND_API.G_EXC_ERROR;
9219: END;
9220: IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
9233:
9234: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9235:
9236: IF l_debug_mode = 'Y' THEN
9237: pa_debug.g_err_stage:='Update_Plan_Setup_For_WP_Copy returned error';
9238: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9239: END IF;
9240: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9241: END IF;
9234: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9235:
9236: IF l_debug_mode = 'Y' THEN
9237: pa_debug.g_err_stage:='Update_Plan_Setup_For_WP_Copy returned error';
9238: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9239: END IF;
9240: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9241: END IF;
9242: END IF;
9250:
9251: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9252:
9253: IF l_debug_mode = 'Y' THEN
9254: pa_debug.g_err_stage:='PA_PLANNING_TRANSACTION_UTILS.call_update_rep_lines_api returned error';
9255: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
9256: END IF;
9257: RAISE PA_FP_CONSTANTS_PKG.INVALID_ARG_EXC;
9258: END IF;
9251: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9252:
9253: IF l_debug_mode = 'Y' THEN
9254: pa_debug.g_err_stage:='PA_PLANNING_TRANSACTION_UTILS.call_update_rep_lines_api returned error';
9255: pa_debug.write( l_module_name,pa_debug.g_err_stage,5);
9256: END IF;
9257: RAISE PA_FP_CONSTANTS_PKG.INVALID_ARG_EXC;
9258: END IF;
9259:
9260:
9261: END LOOP;
9262:
9263: IF l_debug_mode = 'Y' THEN
9264: pa_debug.g_err_stage:='Exiting copy_wp_budget_versions';
9265: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9266: -- reset curr function
9267: pa_debug.reset_curr_function;
9268: END IF;
9261: END LOOP;
9262:
9263: IF l_debug_mode = 'Y' THEN
9264: pa_debug.g_err_stage:='Exiting copy_wp_budget_versions';
9265: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9266: -- reset curr function
9267: pa_debug.reset_curr_function;
9268: END IF;
9269: EXCEPTION
9263: IF l_debug_mode = 'Y' THEN
9264: pa_debug.g_err_stage:='Exiting copy_wp_budget_versions';
9265: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level3);
9266: -- reset curr function
9267: pa_debug.reset_curr_function;
9268: END IF;
9269: EXCEPTION
9270:
9271: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
9287: ROLLBACK TO copy_wp_budget_versions;
9288: x_return_status := FND_API.G_RET_STS_ERROR;
9289:
9290: IF l_debug_mode = 'Y' THEN
9291: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
9292: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9293: -- reset curr function
9294: pa_debug.reset_curr_function();
9295: END IF;
9288: x_return_status := FND_API.G_RET_STS_ERROR;
9289:
9290: IF l_debug_mode = 'Y' THEN
9291: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
9292: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9293: -- reset curr function
9294: pa_debug.reset_curr_function();
9295: END IF;
9296: RETURN;
9290: IF l_debug_mode = 'Y' THEN
9291: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
9292: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9293: -- reset curr function
9294: pa_debug.reset_curr_function();
9295: END IF;
9296: RETURN;
9297: WHEN OTHERS THEN
9298: ROLLBACK TO copy_wp_budget_versions;
9303: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'pa_fp_copy_from_pkg'
9304: ,p_procedure_name => 'copy_wp_budget_versions');
9305:
9306: IF l_debug_mode = 'Y' THEN
9307: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
9308: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9309: -- reset curr function
9310: pa_debug.Reset_Curr_Function();
9311: END IF;
9304: ,p_procedure_name => 'copy_wp_budget_versions');
9305:
9306: IF l_debug_mode = 'Y' THEN
9307: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
9308: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9309: -- reset curr function
9310: pa_debug.Reset_Curr_Function();
9311: END IF;
9312: RAISE;
9306: IF l_debug_mode = 'Y' THEN
9307: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
9308: pa_debug.write( l_module_name,pa_debug.g_err_stage,l_debug_level5);
9309: -- reset curr function
9310: pa_debug.Reset_Curr_Function();
9311: END IF;
9312: RAISE;
9313:
9314: END copy_wp_budget_versions;
9507: BEGIN
9508:
9509: x_msg_count := 0;
9510: x_return_status := FND_API.G_RET_STS_SUCCESS;
9511: IF P_PA_DEBUG_MODE = 'Y' THEN
9512: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines_Appr_Rev');
9513: END IF;
9514: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
9515: l_debug_mode := NVL(l_debug_mode, 'Y');
9508:
9509: x_msg_count := 0;
9510: x_return_status := FND_API.G_RET_STS_SUCCESS;
9511: IF P_PA_DEBUG_MODE = 'Y' THEN
9512: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines_Appr_Rev');
9513: END IF;
9514: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
9515: l_debug_mode := NVL(l_debug_mode, 'Y');
9516: IF P_PA_DEBUG_MODE = 'Y' THEN
9510: x_return_status := FND_API.G_RET_STS_SUCCESS;
9511: IF P_PA_DEBUG_MODE = 'Y' THEN
9512: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines_Appr_Rev');
9513: END IF;
9514: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
9515: l_debug_mode := NVL(l_debug_mode, 'Y');
9516: IF P_PA_DEBUG_MODE = 'Y' THEN
9517: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
9518: END IF;
9512: pa_debug.set_err_stack('PA_FP_COPY_FROM_PKG.Copy_Budget_Lines_Appr_Rev');
9513: END IF;
9514: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
9515: l_debug_mode := NVL(l_debug_mode, 'Y');
9516: IF P_PA_DEBUG_MODE = 'Y' THEN
9517: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
9518: END IF;
9519: -- Checking for all valid input parametrs
9520:
9513: END IF;
9514: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
9515: l_debug_mode := NVL(l_debug_mode, 'Y');
9516: IF P_PA_DEBUG_MODE = 'Y' THEN
9517: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
9518: END IF;
9519: -- Checking for all valid input parametrs
9520:
9521: IF P_PA_DEBUG_MODE = 'Y' THEN
9517: pa_debug.set_process('PLSQL','LOG',l_debug_mode);
9518: END IF;
9519: -- Checking for all valid input parametrs
9520:
9521: IF P_PA_DEBUG_MODE = 'Y' THEN
9522: pa_debug.g_err_stage := 'Checking for valid parameters:';
9523: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9524: END IF;
9525:
9518: END IF;
9519: -- Checking for all valid input parametrs
9520:
9521: IF P_PA_DEBUG_MODE = 'Y' THEN
9522: pa_debug.g_err_stage := 'Checking for valid parameters:';
9523: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9524: END IF;
9525:
9526: IF (p_source_plan_version_id IS NULL) OR
9519: -- Checking for all valid input parametrs
9520:
9521: IF P_PA_DEBUG_MODE = 'Y' THEN
9522: pa_debug.g_err_stage := 'Checking for valid parameters:';
9523: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9524: END IF;
9525:
9526: IF (p_source_plan_version_id IS NULL) OR
9527: (p_target_plan_version_id IS NULL)
9526: IF (p_source_plan_version_id IS NULL) OR
9527: (p_target_plan_version_id IS NULL)
9528: THEN
9529:
9530: IF P_PA_DEBUG_MODE = 'Y' THEN
9531: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
9532: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9533: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
9534: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9527: (p_target_plan_version_id IS NULL)
9528: THEN
9529:
9530: IF P_PA_DEBUG_MODE = 'Y' THEN
9531: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
9532: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9533: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
9534: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9535: END IF;
9528: THEN
9529:
9530: IF P_PA_DEBUG_MODE = 'Y' THEN
9531: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
9532: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9533: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
9534: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9535: END IF;
9536:
9529:
9530: IF P_PA_DEBUG_MODE = 'Y' THEN
9531: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
9532: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9533: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
9534: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9535: END IF;
9536:
9537: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
9530: IF P_PA_DEBUG_MODE = 'Y' THEN
9531: pa_debug.g_err_stage := 'Source_plan='||p_source_plan_version_id;
9532: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9533: pa_debug.g_err_stage := 'Target_plan'||p_target_plan_version_id;
9534: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9535: END IF;
9536:
9537: PA_UTILS.ADD_MESSAGE(p_app_short_name=> 'PA',
9538: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
9542: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9543:
9544: END IF;
9545:
9546: IF P_PA_DEBUG_MODE = 'Y' THEN
9547: pa_debug.g_err_stage := 'Parameter validation complete';
9548: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9549: END IF;
9550:
9543:
9544: END IF;
9545:
9546: IF P_PA_DEBUG_MODE = 'Y' THEN
9547: pa_debug.g_err_stage := 'Parameter validation complete';
9548: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9549: END IF;
9550:
9551: --make adj percentage zero if passed as null
9544: END IF;
9545:
9546: IF P_PA_DEBUG_MODE = 'Y' THEN
9547: pa_debug.g_err_stage := 'Parameter validation complete';
9548: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9549: END IF;
9550:
9551: --make adj percentage zero if passed as null
9552:
9554:
9555: -- Fetching the flags of target version using fin_plan_prefernce_code
9556:
9557:
9558: IF P_PA_DEBUG_MODE = 'Y' THEN
9559: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
9560: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9561: END IF;
9562:
9555: -- Fetching the flags of target version using fin_plan_prefernce_code
9556:
9557:
9558: IF P_PA_DEBUG_MODE = 'Y' THEN
9559: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
9560: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9561: END IF;
9562:
9563: SELECT DECODE(fin_plan_preference_code -- l_revenue_flag
9556:
9557:
9558: IF P_PA_DEBUG_MODE = 'Y' THEN
9559: pa_debug.g_err_stage:='Fetching the raw_cost,burdened_cost and revenue flags of target_version';
9560: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
9561: END IF;
9562:
9563: SELECT DECODE(fin_plan_preference_code -- l_revenue_flag
9564: ,PA_FP_CONSTANTS_PKG.G_PREF_REVENUE_ONLY ,'Y'
9979: ,x_msg_count => l_msg_count
9980: ,x_msg_data => l_msg_data);
9981:
9982: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9983: IF P_PA_debug_mode = 'Y' THEN
9984: pa_debug.g_err_stage:= 'Error in PA_FP_MULTI_CURRENCY_PKG.Round_Budget_Line_Amounts';
9985: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9986: END IF;
9987: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9980: ,x_msg_data => l_msg_data);
9981:
9982: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9983: IF P_PA_debug_mode = 'Y' THEN
9984: pa_debug.g_err_stage:= 'Error in PA_FP_MULTI_CURRENCY_PKG.Round_Budget_Line_Amounts';
9985: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9986: END IF;
9987: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9988: END IF;
9981:
9982: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9983: IF P_PA_debug_mode = 'Y' THEN
9984: pa_debug.g_err_stage:= 'Error in PA_FP_MULTI_CURRENCY_PKG.Round_Budget_Line_Amounts';
9985: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
9986: END IF;
9987: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
9988: END IF;
9989: END IF;
10006: x_msg_count => l_msg_count,
10007: x_msg_data => l_msg_data);
10008:
10009: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10010: IF P_PA_debug_mode = 'Y' THEN
10011: pa_debug.g_err_stage:= 'Error in derv_missing_amts_chk_neg_qty';
10012: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
10013: END IF;
10014: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10007: x_msg_data => l_msg_data);
10008:
10009: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10010: IF P_PA_debug_mode = 'Y' THEN
10011: pa_debug.g_err_stage:= 'Error in derv_missing_amts_chk_neg_qty';
10012: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
10013: END IF;
10014: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10015:
10008:
10009: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10010: IF P_PA_debug_mode = 'Y' THEN
10011: pa_debug.g_err_stage:= 'Error in derv_missing_amts_chk_neg_qty';
10012: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
10013: END IF;
10014: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10015:
10016: END IF;
10016: END IF;
10017:
10018: END IF;--IF p_derv_rates_missing_amts_flag = 'Y' THEN
10019:
10020: IF P_PA_DEBUG_MODE = 'Y' THEN
10021: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines_Appr_Rev';
10022: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
10023: pa_debug.reset_err_stack; -- bug:- 2815593
10024: END IF;
10017:
10018: END IF;--IF p_derv_rates_missing_amts_flag = 'Y' THEN
10019:
10020: IF P_PA_DEBUG_MODE = 'Y' THEN
10021: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines_Appr_Rev';
10022: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
10023: pa_debug.reset_err_stack; -- bug:- 2815593
10024: END IF;
10025: EXCEPTION
10018: END IF;--IF p_derv_rates_missing_amts_flag = 'Y' THEN
10019:
10020: IF P_PA_DEBUG_MODE = 'Y' THEN
10021: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines_Appr_Rev';
10022: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
10023: pa_debug.reset_err_stack; -- bug:- 2815593
10024: END IF;
10025: EXCEPTION
10026:
10019:
10020: IF P_PA_DEBUG_MODE = 'Y' THEN
10021: pa_debug.g_err_stage:='Exiting Copy_Budget_Lines_Appr_Rev';
10022: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,3);
10023: pa_debug.reset_err_stack; -- bug:- 2815593
10024: END IF;
10025: EXCEPTION
10026:
10027: WHEN PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc THEN
10040: x_msg_count := l_msg_count;
10041: END IF;
10042: x_return_status := FND_API.G_RET_STS_ERROR;
10043:
10044: IF P_PA_DEBUG_MODE = 'Y' THEN
10045: pa_debug.g_err_stage:='Invalid arguments passed';
10046: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
10047: pa_debug.reset_err_stack;
10048: END IF;
10041: END IF;
10042: x_return_status := FND_API.G_RET_STS_ERROR;
10043:
10044: IF P_PA_DEBUG_MODE = 'Y' THEN
10045: pa_debug.g_err_stage:='Invalid arguments passed';
10046: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
10047: pa_debug.reset_err_stack;
10048: END IF;
10049: RAISE;
10042: x_return_status := FND_API.G_RET_STS_ERROR;
10043:
10044: IF P_PA_DEBUG_MODE = 'Y' THEN
10045: pa_debug.g_err_stage:='Invalid arguments passed';
10046: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
10047: pa_debug.reset_err_stack;
10048: END IF;
10049: RAISE;
10050:
10043:
10044: IF P_PA_DEBUG_MODE = 'Y' THEN
10045: pa_debug.g_err_stage:='Invalid arguments passed';
10046: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,5);
10047: pa_debug.reset_err_stack;
10048: END IF;
10049: RAISE;
10050:
10051: WHEN Others THEN
10054: x_msg_data := SQLERRM;
10055: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
10056: ,p_procedure_name => 'COPY_BUDGET_LINES_APPR_REV');
10057:
10058: IF P_PA_DEBUG_MODE = 'Y' THEN
10059: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
10060: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,6);
10061: pa_debug.reset_err_stack;
10062: END IF;
10055: FND_MSG_PUB.add_exc_msg( p_pkg_name=> 'PA_FP_COPY_FROM_PKG'
10056: ,p_procedure_name => 'COPY_BUDGET_LINES_APPR_REV');
10057:
10058: IF P_PA_DEBUG_MODE = 'Y' THEN
10059: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
10060: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,6);
10061: pa_debug.reset_err_stack;
10062: END IF;
10063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10056: ,p_procedure_name => 'COPY_BUDGET_LINES_APPR_REV');
10057:
10058: IF P_PA_DEBUG_MODE = 'Y' THEN
10059: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
10060: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,6);
10061: pa_debug.reset_err_stack;
10062: END IF;
10063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10064: END Copy_Budget_Lines_Appr_Rev;
10057:
10058: IF P_PA_DEBUG_MODE = 'Y' THEN
10059: pa_debug.g_err_stage:='Unexpected error'||SQLERRM;
10060: pa_debug.write('Copy_Budget_Lines_Appr_Rev: ' || g_module_name,pa_debug.g_err_stage,6);
10061: pa_debug.reset_err_stack;
10062: END IF;
10063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10064: END Copy_Budget_Lines_Appr_Rev;
10065:
10177:
10178: x_msg_count := 0;
10179: x_return_status := FND_API.G_RET_STS_SUCCESS;
10180:
10181: fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
10182: l_debug_mode := NVL(l_debug_mode, 'Y');
10183:
10184: -- Set curr function
10185: IF l_debug_mode = 'Y' THEN
10182: l_debug_mode := NVL(l_debug_mode, 'Y');
10183:
10184: -- Set curr function
10185: IF l_debug_mode = 'Y' THEN
10186: pa_debug.set_curr_function(
10187: p_function =>'PA_FP_COPY_FROM_PKG.Update_Plan_Setup_For_WP_Copy'
10188: ,p_debug_mode => l_debug_mode );
10189:
10190: -- Check for business rules violations
10187: p_function =>'PA_FP_COPY_FROM_PKG.Update_Plan_Setup_For_WP_Copy'
10188: ,p_debug_mode => l_debug_mode );
10189:
10190: -- Check for business rules violations
10191: pa_debug.g_err_stage:='Validating input parameters';
10192: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,3);
10193: END IF;
10194:
10195: IF (p_project_id IS NULL) OR
10188: ,p_debug_mode => l_debug_mode );
10189:
10190: -- Check for business rules violations
10191: pa_debug.g_err_stage:='Validating input parameters';
10192: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,3);
10193: END IF;
10194:
10195: IF (p_project_id IS NULL) OR
10196: (p_wp_version_id IS NULL)
10196: (p_wp_version_id IS NULL)
10197: THEN
10198:
10199: IF l_debug_mode = 'Y' THEN
10200: pa_debug.g_err_stage:='p_project_id = '||p_project_id;
10201: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10202:
10203: pa_debug.g_err_stage:='p_wp_version_id = '||p_wp_version_id;
10204: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10197: THEN
10198:
10199: IF l_debug_mode = 'Y' THEN
10200: pa_debug.g_err_stage:='p_project_id = '||p_project_id;
10201: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10202:
10203: pa_debug.g_err_stage:='p_wp_version_id = '||p_wp_version_id;
10204: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10205: END IF;
10199: IF l_debug_mode = 'Y' THEN
10200: pa_debug.g_err_stage:='p_project_id = '||p_project_id;
10201: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10202:
10203: pa_debug.g_err_stage:='p_wp_version_id = '||p_wp_version_id;
10204: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10205: END IF;
10206:
10207: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
10200: pa_debug.g_err_stage:='p_project_id = '||p_project_id;
10201: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10202:
10203: pa_debug.g_err_stage:='p_wp_version_id = '||p_wp_version_id;
10204: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10205: END IF;
10206:
10207: PA_UTILS.ADD_MESSAGE( p_app_short_name => 'PA',
10208: p_msg_name => 'PA_FP_INV_PARAM_PASSED',
10302: ,x_msg_data => x_msg_data );
10303:
10304: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10305: IF l_debug_mode = 'Y' THEN
10306: pa_debug.g_err_stage:='Called API PA_FP_TXN_CURRENCIES_PUB.copy_fp_txn_currencies
10307: api returned error';
10308: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10309: END IF;
10310: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10304: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10305: IF l_debug_mode = 'Y' THEN
10306: pa_debug.g_err_stage:='Called API PA_FP_TXN_CURRENCIES_PUB.copy_fp_txn_currencies
10307: api returned error';
10308: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10309: END IF;
10310: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10311: END IF;
10312:
10325: ,x_msg_data => x_msg_data);
10326:
10327: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10328: IF l_debug_mode = 'Y' THEN
10329: pa_debug.g_err_stage:='Called API PA_PLANNING_TRANSACTION_UTILS.Get_Res_Class_Rlm_Ids
10330: api returned error';
10331: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10332: END IF;
10333: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10327: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10328: IF l_debug_mode = 'Y' THEN
10329: pa_debug.g_err_stage:='Called API PA_PLANNING_TRANSACTION_UTILS.Get_Res_Class_Rlm_Ids
10330: api returned error';
10331: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10332: END IF;
10333: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10334: END IF;
10335:
10334: END IF;
10335:
10336: -- Update all the task planning elements with new PEOPLE rlmid
10337: IF l_debug_mode = 'Y' THEN
10338: pa_debug.g_err_stage:='Updaing res assignments with new PEOPLE rlmid : '
10339: || l_people_res_class_rlm_id;
10340: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,3);
10341: END IF;
10342:
10336: -- Update all the task planning elements with new PEOPLE rlmid
10337: IF l_debug_mode = 'Y' THEN
10338: pa_debug.g_err_stage:='Updaing res assignments with new PEOPLE rlmid : '
10339: || l_people_res_class_rlm_id;
10340: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,3);
10341: END IF;
10342:
10343: UPDATE pa_resource_assignments
10344: SET resource_list_member_id = l_people_res_class_rlm_id
10373:
10374: -- Bug 3579153 Check return status
10375: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10376: IF l_debug_mode = 'Y' THEN
10377: pa_debug.g_err_stage:='Called API PA_PLANNING_TRANSACTION_UTILS.Map_Rlmi_Rbs api returned error';
10378: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10379: END IF;
10380: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10381: ELSE
10374: -- Bug 3579153 Check return status
10375: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10376: IF l_debug_mode = 'Y' THEN
10377: pa_debug.g_err_stage:='Called API PA_PLANNING_TRANSACTION_UTILS.Map_Rlmi_Rbs api returned error';
10378: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10379: END IF;
10380: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10381: ELSE
10382: -- Check count of the required out tables to be the same
10383: IF l_txn_source_id_tbl.count <> l_rbs_element_id_tbl.count OR
10384: l_txn_source_id_tbl.count <> l_txn_accum_header_id_tbl.count
10385: THEN
10386: IF l_debug_mode = 'Y' THEN
10387: pa_debug.g_err_stage:='Called API PA_PLANNING_TRANSACTION_UTILS.Map_Rlmi_Rbs api
10388: returned out tables with different count';
10389: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10390: pa_debug.g_err_stage:='l_txn_source_id_tbl.count = ' || l_txn_source_id_tbl.count;
10391: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10385: THEN
10386: IF l_debug_mode = 'Y' THEN
10387: pa_debug.g_err_stage:='Called API PA_PLANNING_TRANSACTION_UTILS.Map_Rlmi_Rbs api
10388: returned out tables with different count';
10389: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10390: pa_debug.g_err_stage:='l_txn_source_id_tbl.count = ' || l_txn_source_id_tbl.count;
10391: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10392: pa_debug.g_err_stage:='l_rbs_element_id_tbl.count = ' || l_rbs_element_id_tbl.count;
10393: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10386: IF l_debug_mode = 'Y' THEN
10387: pa_debug.g_err_stage:='Called API PA_PLANNING_TRANSACTION_UTILS.Map_Rlmi_Rbs api
10388: returned out tables with different count';
10389: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10390: pa_debug.g_err_stage:='l_txn_source_id_tbl.count = ' || l_txn_source_id_tbl.count;
10391: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10392: pa_debug.g_err_stage:='l_rbs_element_id_tbl.count = ' || l_rbs_element_id_tbl.count;
10393: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10394: pa_debug.g_err_stage:=
10387: pa_debug.g_err_stage:='Called API PA_PLANNING_TRANSACTION_UTILS.Map_Rlmi_Rbs api
10388: returned out tables with different count';
10389: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10390: pa_debug.g_err_stage:='l_txn_source_id_tbl.count = ' || l_txn_source_id_tbl.count;
10391: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10392: pa_debug.g_err_stage:='l_rbs_element_id_tbl.count = ' || l_rbs_element_id_tbl.count;
10393: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10394: pa_debug.g_err_stage:=
10395: 'l_txn_accum_header_id_tbl.count = ' || l_txn_accum_header_id_tbl.count;
10388: returned out tables with different count';
10389: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10390: pa_debug.g_err_stage:='l_txn_source_id_tbl.count = ' || l_txn_source_id_tbl.count;
10391: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10392: pa_debug.g_err_stage:='l_rbs_element_id_tbl.count = ' || l_rbs_element_id_tbl.count;
10393: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10394: pa_debug.g_err_stage:=
10395: 'l_txn_accum_header_id_tbl.count = ' || l_txn_accum_header_id_tbl.count;
10396: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10389: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10390: pa_debug.g_err_stage:='l_txn_source_id_tbl.count = ' || l_txn_source_id_tbl.count;
10391: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10392: pa_debug.g_err_stage:='l_rbs_element_id_tbl.count = ' || l_rbs_element_id_tbl.count;
10393: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10394: pa_debug.g_err_stage:=
10395: 'l_txn_accum_header_id_tbl.count = ' || l_txn_accum_header_id_tbl.count;
10396: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10397: END IF;
10390: pa_debug.g_err_stage:='l_txn_source_id_tbl.count = ' || l_txn_source_id_tbl.count;
10391: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10392: pa_debug.g_err_stage:='l_rbs_element_id_tbl.count = ' || l_rbs_element_id_tbl.count;
10393: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10394: pa_debug.g_err_stage:=
10395: 'l_txn_accum_header_id_tbl.count = ' || l_txn_accum_header_id_tbl.count;
10396: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10397: END IF;
10398: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10392: pa_debug.g_err_stage:='l_rbs_element_id_tbl.count = ' || l_rbs_element_id_tbl.count;
10393: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10394: pa_debug.g_err_stage:=
10395: 'l_txn_accum_header_id_tbl.count = ' || l_txn_accum_header_id_tbl.count;
10396: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10397: END IF;
10398: RAISE PA_FP_CONSTANTS_PKG.Invalid_Arg_Exc;
10399: END IF;
10400: END IF;
10421:
10422: END IF;
10423:
10424: IF l_debug_mode = 'Y' THEN
10425: pa_debug.g_err_stage:='Exiting Update_Plan_Setup_For_WP_Copy';
10426: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,3);
10427: -- reset curr function
10428: pa_debug.reset_curr_function();
10429: END IF;
10422: END IF;
10423:
10424: IF l_debug_mode = 'Y' THEN
10425: pa_debug.g_err_stage:='Exiting Update_Plan_Setup_For_WP_Copy';
10426: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,3);
10427: -- reset curr function
10428: pa_debug.reset_curr_function();
10429: END IF;
10430:
10424: IF l_debug_mode = 'Y' THEN
10425: pa_debug.g_err_stage:='Exiting Update_Plan_Setup_For_WP_Copy';
10426: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,3);
10427: -- reset curr function
10428: pa_debug.reset_curr_function();
10429: END IF;
10430:
10431: EXCEPTION
10432:
10449:
10450: x_return_status := FND_API.G_RET_STS_ERROR;
10451:
10452: IF l_debug_mode = 'Y' THEN
10453: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
10454: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10455: -- reset curr function
10456: pa_debug.reset_curr_function();
10457: END IF;
10450: x_return_status := FND_API.G_RET_STS_ERROR;
10451:
10452: IF l_debug_mode = 'Y' THEN
10453: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
10454: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10455: -- reset curr function
10456: pa_debug.reset_curr_function();
10457: END IF;
10458: RETURN;
10452: IF l_debug_mode = 'Y' THEN
10453: pa_debug.g_err_stage:='Invalid Arguments Passed Or called api raised an error';
10454: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10455: -- reset curr function
10456: pa_debug.reset_curr_function();
10457: END IF;
10458: RETURN;
10459: WHEN Others THEN
10460: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10464: FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FP_COPY_FROM_PKG'
10465: ,p_procedure_name => 'Update_Plan_Setup_For_WP_Copy');
10466:
10467: IF l_debug_mode = 'Y' THEN
10468: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
10469: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10470: -- reset curr function
10471: pa_debug.Reset_Curr_Function();
10472: END IF;
10465: ,p_procedure_name => 'Update_Plan_Setup_For_WP_Copy');
10466:
10467: IF l_debug_mode = 'Y' THEN
10468: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
10469: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10470: -- reset curr function
10471: pa_debug.Reset_Curr_Function();
10472: END IF;
10473:
10467: IF l_debug_mode = 'Y' THEN
10468: pa_debug.g_err_stage:='Unexpected Error'||SQLERRM;
10469: pa_debug.write('Update_Plan_Setup_For_WP_Copy: ' || g_module_name,pa_debug.g_err_stage,5);
10470: -- reset curr function
10471: pa_debug.Reset_Curr_Function();
10472: END IF;
10473:
10474: RAISE;
10475: END Update_Plan_Setup_For_WP_Copy;