[Home] [Help]
PACKAGE BODY: APPS.PA_FIN_PLAN_VIEW_GLOBAL
Source
1 PACKAGE BODY pa_fin_plan_view_global as
2 /* $Header: PARFPSVB.pls 120.4 2006/03/09 20:11:28 nkumbi noship $ */
3
4 PROCEDURE pa_fp_get_budget_status_code(
5 p_budget_version_id IN NUMBER,
6 x_budget_status_code OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
7 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
8 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
9 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
10 )
11
12 IS
13
14 BEGIN
15 select budget_status_code
16 into x_budget_status_code
17 from pa_budget_versions
18 where budget_version_id = p_budget_version_id;
19
20
21 END pa_fp_get_budget_status_code;
22
23 PROCEDURE pa_fp_set_orgfcst_version_id(
24 p_orgfcst_version_id IN NUMBER,
25 p_period_start_date IN VARCHAR2,
26 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
27 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
28 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
29 )
30 IS
31 l_start_date DATE;
32 ll_plan_start_date DATE;
33 ll_plan_end_date DATE;
34 ll_plan_period_type VARCHAR2(30);
35 l_return_status VARCHAR2(2);
36 l_msg_count NUMBER;
37 l_msg_data VARCHAR2(80);
38 l_num_of_periods NUMBER;
39 l_project_id NUMBER;
40 l_org_id NUMBER;
41
42 BEGIN
43
44 x_return_status := FND_API.G_RET_STS_SUCCESS;
45
46 pa_fin_plan_view_global.G_FP_VIEW_VERSION_ID := p_orgfcst_version_id;
47
48 select project_id
49 into l_project_id
50 from pa_budget_versions
51 where budget_version_id = p_orgfcst_version_id;
52
53 select nvl(org_id,-99)
54 into l_org_id
55 from pa_projects_all
56 where project_id = l_project_id;
57
58 pa_fin_plan_view_global.G_FP_ORG_ID := l_org_id;
59
60 select fin_plan_start_date, fin_plan_end_date
61 into ll_plan_start_date,ll_plan_end_date
62 from pa_proj_fp_options
63 where fin_plan_version_id = p_orgfcst_version_id;
64
65
66 select pp.plan_period_type
67 into ll_plan_period_type
68 from pa_proj_period_profiles pp,
69 pa_budget_versions pbv
70 where pbv.budget_version_id = p_orgfcst_version_id
71 and pp.period_profile_id = pbv.period_profile_id;
72
73 pa_fin_plan_view_global.G_FP_PLAN_START_DATE := ll_plan_start_date;
74 pa_fin_plan_view_global.G_FP_PLAN_END_DATE := ll_plan_end_date;
75 pa_fin_plan_view_global.G_FP_PERIOD_TYPE := ll_plan_period_type;
76
77 if ll_plan_period_type = 'GL' THEN
78 l_num_of_periods := 6;
79 else
80 l_num_of_periods := 13;
81 end if;
82
83 if p_period_start_date = 'N' Then
84
85 l_start_date := to_char(ll_plan_start_date);
86
87 elsif p_period_start_date = 'L' Then
88
89 pa_fin_plan_view_global.G_FP_VIEW_START_DATE1:=ll_plan_end_date;
90 pa_fin_plan_view_global.pa_fp_set_periods_nav (
91 p_direction => 'BACKWARD',
92 p_num_of_periods => l_num_of_periods,
93 p_period_type => ll_plan_period_type,
94 x_start_date => l_start_date,
95 x_return_status => l_return_status,
96 x_msg_count => l_msg_count,
97 x_msg_data => l_msg_data);
98
99
100 else
101 l_start_date := p_period_start_date;
102
103
104 end if;
105
106 pa_fin_plan_view_global.pa_fp_set_periods (
107 p_period_start_date => l_start_date,
108 p_period_type => ll_plan_period_type,
109 x_return_status => l_return_status,
110 x_msg_count => l_msg_count,
111 x_msg_data => l_msg_data
112 );
113
114
115
116 EXCEPTION
117 WHEN OTHERS THEN
118 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
119 x_msg_count := 1;
120 x_msg_data := SQLERRM;
121 FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FIN_PLAN_VIEW_GLOBAL',
122 p_procedure_name => 'pa_fp_set_orgfcst_version_id');
123
124 END pa_fp_set_orgfcst_version_id;
125
126 PROCEDURE pa_fp_set_Adj_Reason_Code(
127 p_adj_reason_code IN VARCHAR2,
128 x_adj_comments OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
129 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
130 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
131 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
132 )
133 IS
134
135 BEGIN
136 x_return_status:= FND_API.G_RET_STS_SUCCESS;
137 pa_fin_plan_view_global.G_FP_ADJ_REASON_CODE := p_adj_reason_code;
138
139 begin
140 select pe.adjustment_comments
141 into x_adj_comments
142 from pa_fp_adj_elements pe,
143 pa_resource_assignments pra
144 where pra.budget_version_id = pa_fin_plan_view_global.Get_Version_ID()
145 and resource_assignment_type = 'OWN'
146 and pe.budget_version_id = pa_fin_plan_view_global.Get_Version_ID()
147 and pe.resource_assignment_id = pra.resource_assignment_id
148 and pe.ADJUSTMENT_REASON_CODE = pa_fin_plan_view_global.Get_Adj_Reason_Code();
149
150 exception
151 when no_data_found then
152 -- x_return_status := FND_API.G_RET_STS_ERROR;
153 x_adj_comments := null;
154 end;
155
156 EXCEPTION
157
158 WHEN OTHERS THEN
159 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
160 x_msg_count := 1;
161 x_msg_data := SQLERRM;
162 FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FIN_PLAN_VIEW_GLOBAL',
163 p_procedure_name => 'pa_fp_viewby_set_globals');
164
165
166 END pa_fp_set_Adj_Reason_Code;
167
168
169 PROCEDURE pa_fp_viewby_set_globals( p_amount_type_code IN VARCHAR2,
170 p_resource_assignment_id IN NUMBER,
171 p_budget_version_id IN NUMBER,
172 p_start_period IN VARCHAR2,
173 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
174 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
175 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
176 )
177 IS
178
179 l_budget_version_id NUMBER;
180 l_return_status VARCHAR2(2);
181 l_msg_count NUMBER;
182 l_msg_data VARCHAR2(80);
183 l_start_date VARCHAR2(30);
184
185 BEGIN
186
187 x_return_status := FND_API.G_RET_STS_SUCCESS;
188
189 pa_fin_plan_view_global.G_FP_AMOUNT_TYPE_CODE := p_amount_type_code;
190 pa_fin_plan_view_global.G_FP_RA_ID := p_resource_assignment_id;
191 l_budget_version_id := p_budget_version_id;
192
193 l_start_date := p_start_period;
194
195 pa_fin_plan_view_global.pa_fp_set_orgfcst_version_id(
196 p_orgfcst_version_id => l_budget_version_id,
197 p_period_start_date => l_start_date,
198 x_return_status => l_return_status,
199 x_msg_count => l_msg_count,
200 x_msg_data => l_msg_data
201 );
202
203
204
205
206 EXCEPTION
207 WHEN OTHERS THEN
208 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
209 x_msg_count := 1;
210 x_msg_data := SQLERRM;
211 FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_FIN_PLAN_VIEW_GLOBAL',
212 p_procedure_name => 'pa_fp_viewby_set_globals');
213 END pa_fp_viewby_set_globals;
214
215
216
217 PROCEDURE pa_fp_set_periods (
218 p_period_start_date IN VARCHAR2,
219 p_period_type IN VARCHAR2,
220 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
221 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
222 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
223
224 )
225
226 IS
227
228 l_start_date DATE;
229 v_start_date_tab PA_FORECAST_GLOB.DateTabTyp;
230 v_end_date_tab PA_FORECAST_GLOB.DateTabTyp;
231 i NUMBER;
232 l_rownum NUMBER;
233
234 CURSOR C1(l_start_date IN DATE, l_rownum IN NUMBER) IS
235 SELECT * FROM(
236 SELECT start_date,end_date
237 FROM pa_orgfcst_periods_tmp_v
238 WHERE start_date >= l_start_date
239 order by start_date
240 )
241 where rownum <= l_rownum;
242
243 --Bug 4947912
244 l_format_mask nls_session_parameters.value%TYPE;
245
246 BEGIN
247
248 x_return_status := FND_API.G_RET_STS_SUCCESS;
249
250 /* Bug Fix 4373890
251 As a part of GSCC error fixes, modified the following statement
252 by adding the format mask
253 */
254
255 --Bug 4947912
256 SELECT value
257 INTO l_format_mask
258 FROM nls_session_parameters
259 WHERE parameter='NLS_DATE_FORMAT';
260 l_start_date := to_date(p_period_start_date,l_format_mask);
261
262 i := 0;
263
264 if p_period_type = 'GL' THEN
265
266 l_rownum := 6;
267
268 elsif p_period_type = 'PA' THEN
269
270 l_rownum := 13;
271
272 end if;
273
274
275 OPEN C1(l_start_date,l_rownum);
276
277 LOOP
278
279 FETCH C1 INTO v_start_date_tab(i),v_end_date_tab(i);
280
281 -- dbms_output.put_line('i: '||i);
282 i := i+1;
283
284 EXIT WHEN C1%NOTFOUND;
285
286 END LOOP;
287
288 CLOSE C1;
289
290 pa_fin_plan_view_global.G_FP_VIEW_START_DATE1 := v_start_date_tab(0);
291 pa_fin_plan_view_global.G_FP_VIEW_START_DATE2 := v_start_date_tab(1);
292 pa_fin_plan_view_global.G_FP_VIEW_START_DATE3 := v_start_date_tab(2);
293 pa_fin_plan_view_global.G_FP_VIEW_START_DATE4 := v_start_date_tab(3);
294 pa_fin_plan_view_global.G_FP_VIEW_START_DATE5 := v_start_date_tab(4);
295 pa_fin_plan_view_global.G_FP_VIEW_START_DATE6 := v_start_date_tab(5);
296
297 pa_fin_plan_view_global.G_FP_VIEW_END_DATE1 := v_end_date_tab(0);
298 pa_fin_plan_view_global.G_FP_VIEW_END_DATE2 := v_end_date_tab(1);
299 pa_fin_plan_view_global.G_FP_VIEW_END_DATE3 := v_end_date_tab(2);
300 pa_fin_plan_view_global.G_FP_VIEW_END_DATE4 := v_end_date_tab(3);
301 pa_fin_plan_view_global.G_FP_VIEW_END_DATE5 := v_end_date_tab(4);
302 pa_fin_plan_view_global.G_FP_VIEW_END_DATE6 := v_end_date_tab(5);
303 /*
304 dbms_output.put_line('global start date 1: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE1);
305 dbms_output.put_line('global start date 2: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE2);
306 dbms_output.put_line('global start date 3: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE3);
307 dbms_output.put_line('global start date 4: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE4);
308 dbms_output.put_line('global start date 5: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE5);
309 dbms_output.put_line('global start date 6: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE6);
310
311 dbms_output.put_line('global end date 1: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE1);
312 dbms_output.put_line('global end date 2: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE2);
313 dbms_output.put_line('global end date 3: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE3);
314 dbms_output.put_line('global end date 4: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE4);
315 dbms_output.put_line('global end date 5: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE5);
316 dbms_output.put_line('global end date 6: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE6);
317 */
318
319
320 if p_period_type = 'PA' THEN
321
322 pa_fin_plan_view_global.G_FP_VIEW_START_DATE7 := v_start_date_tab(6);
323 pa_fin_plan_view_global.G_FP_VIEW_START_DATE8 := v_start_date_tab(7);
324 pa_fin_plan_view_global.G_FP_VIEW_START_DATE9 := v_start_date_tab(8);
325 pa_fin_plan_view_global.G_FP_VIEW_START_DATE10 := v_start_date_tab(9);
326 pa_fin_plan_view_global.G_FP_VIEW_START_DATE11 := v_start_date_tab(10);
327 pa_fin_plan_view_global.G_FP_VIEW_START_DATE12 := v_start_date_tab(11);
328 pa_fin_plan_view_global.G_FP_VIEW_START_DATE13 := v_start_date_tab(12);
329
330 pa_fin_plan_view_global.G_FP_VIEW_END_DATE7 := v_end_date_tab(6);
331 pa_fin_plan_view_global.G_FP_VIEW_END_DATE8 := v_end_date_tab(7);
332 pa_fin_plan_view_global.G_FP_VIEW_END_DATE9 := v_end_date_tab(8);
333 pa_fin_plan_view_global.G_FP_VIEW_END_DATE10 := v_end_date_tab(9);
334 pa_fin_plan_view_global.G_FP_VIEW_END_DATE11 := v_end_date_tab(10);
335 pa_fin_plan_view_global.G_FP_VIEW_END_DATE12 := v_end_date_tab(11);
336 pa_fin_plan_view_global.G_FP_VIEW_END_DATE13 := v_end_date_tab(12);
337 /*
338 dbms_output.put_line('global start date 7: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE7);
339 dbms_output.put_line('global start date 8: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE8);
340 dbms_output.put_line('global start date 9: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE9);
341 dbms_output.put_line('global start date 10: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE10);
342 dbms_output.put_line('global start date 11: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE11);
343 dbms_output.put_line('global start date 12: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE12);
344 dbms_output.put_line('global start date 13: '||pa_fin_plan_view_global.G_FP_VIEW_START_DATE13);
345
346 dbms_output.put_line('global end date 7: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE7);
347 dbms_output.put_line('global end date 8: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE8);
348 dbms_output.put_line('global end date 9: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE9);
349 dbms_output.put_line('global end date 10: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE10);
350 dbms_output.put_line('global end date 11: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE11);
351 dbms_output.put_line('global end date 12: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE12);
352 dbms_output.put_line('global end date 13: '||pa_fin_plan_view_global.G_FP_VIEW_END_DATE13);
353 */
354 end if;
355
356
357 END pa_fp_set_periods;
358
359 PROCEDURE pa_fp_set_periods_nav ( p_direction IN VARCHAR2,
360 p_num_of_periods IN NUMBER,
361 p_period_type IN VARCHAR2,
362 x_start_date OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
363 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
364 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
365 x_msg_data OUT NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
366 IS
367
368 l_start_date DATE;
369 ll_start_date DATE;
370 l_period_type VARCHAR2(2);
371 l_rownum NUMBER;
372 l_return_status VARCHAR2(2);
373 l_msg_count NUMBER;
374 l_msg_data VARCHAR2(80);
375
376
377 CURSOR C_forward(l_start_date IN DATE) IS
378
379 SELECT start_date
380 FROM pa_orgfcst_periods_tmp_v
381 WHERE start_date > l_start_date
382 order by start_date;
383
384
385 CURSOR C_backward(l_start_date IN DATE) IS
386
387 SELECT start_date
388 FROM pa_orgfcst_periods_tmp_v
389 WHERE start_date < l_start_date
390 order by start_date desc;
391
392 BEGIN
393
394 l_rownum := p_num_of_periods;
395 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE1;
396 l_period_type := p_period_type;
397
398 IF p_direction = 'FORWARD' THEN
399
400 OPEN C_forward(l_start_date);
401
402 LOOP
403
404 FETCH C_forward INTO ll_start_date;
405
406 EXIT WHEN C_forward%NOTFOUND;
407 EXIT WHEN C_forward%ROWCOUNT = l_rownum;
408
409 END LOOP;
410
411 CLOSE C_forward;
412
413
414
415 ELSIF p_direction = 'BACKWARD' THEN
416
417 OPEN C_backward(l_start_date);
418
419 LOOP
420
421 FETCH C_backward INTO ll_start_date;
422
423 EXIT WHEN C_backward%NOTFOUND;
424 EXIT WHEN C_backward%ROWCOUNT = l_rownum;
425
426 END LOOP;
427
428 CLOSE C_backward;
429
430 END IF;
431
432 -- dbms_output.put_line('The New Global start date is: '||ll_start_date);
433
434 x_start_date := to_char(ll_start_date);
435
436 /*
437 pa_fin_plan_view_global.pa_fp_set_periods (
438 p_period_start_date =>ll_start_date,
439 p_period_type =>l_period_type,
440 x_return_status =>l_return_status,
441 x_msg_count =>l_msg_count,
442 x_msg_data =>l_msg_data
443 );
444 */
445
446
447 END pa_fp_set_periods_nav;
448
449 PROCEDURE pa_fp_update_tables( p_amount_type_code IN VARCHAR2,
450 p_amount_subtype_code IN VARCHAR2,
451 p_adj_reason_code IN VARCHAR2,
452 p_adj_comments IN VARCHAR2,
453 p_currency_code IN VARCHAR2,
454 p_project_id IN NUMBER,
455 p_period1 IN NUMBER,
456 p_period2 IN NUMBER,
457 p_period3 IN NUMBER,
458 p_period4 IN NUMBER,
459 p_period5 IN NUMBER,
460 p_period6 IN NUMBER,
461 p_period7 IN NUMBER,
462 p_period8 IN NUMBER,
463 p_period9 IN NUMBER,
464 p_period10 IN NUMBER,
465 p_period11 IN NUMBER,
466 p_period12 IN NUMBER,
467 p_period13 IN NUMBER,
468 p_period_type IN VARCHAR2,
469 p_budget_version_id IN NUMBER,
470 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
471 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
472 x_msg_data OUT NOCOPY VARCHAR2 ) --File.Sql.39 bug 4440895
473 IS
474 l_msg_count NUMBER;
475 l_msg_data VARCHAR2(80);
476 l_project_id NUMBER;
477 l_budget_version_id NUMBER;
478 l_budget_line_id NUMBER;
479 l_amount_type_code VARCHAR2(30);
480 l_amount_subtype_code VARCHAR2(30);
481 l_period_amount NUMBER;
482 l_period_name VARCHAR2(30);
483 l_start_date DATE;
484 l_end_date DATE;
485 l_adj_rev_amount NUMBER;
486 l_adj_cost_amount NUMBER;
487 l_adj_util_amount NUMBER;
488 l_adj_hc_amount NUMBER;
489 l_ra_id_pl NUMBER;
490 l_ra_id_tl NUMBER;
491 l_task_id_pl NUMBER;
492 l_task_id_tl NUMBER;
493 l_adj_reason_code VARCHAR2(30);
494 l_adj_comments VARCHAR2(240);
495 l_adj_element_id_pl NUMBER;
496 l_adj_element_id_tl NUMBER;
497 l_fin_plan_adj_line_id1 NUMBER;
498 l_fin_plan_adj_line_id2 NUMBER;
499 l_fin_plan_adj_line_id3 NUMBER;
500 l_fin_plan_adj_line_id4 NUMBER;
501 l_fin_plan_adj_line_id5 NUMBER;
502 l_fin_plan_adj_line_id6 NUMBER;
503 l_fin_plan_adj_line_id7 NUMBER;
504 l_fin_plan_adj_line_id8 NUMBER;
505 l_fin_plan_adj_line_id9 NUMBER;
506 l_fin_plan_adj_line_id10 NUMBER;
507 l_fin_plan_adj_line_id11 NUMBER;
508 l_fin_plan_adj_line_id12 NUMBER;
509 l_fin_plan_adj_line_id13 NUMBER;
510 l_return_status VARCHAR2(2);
511 l_temp_id NUMBER;
512 l_row_id ROWID;
513 l_period_name1 VARCHAR2(30);
514 l_period_name2 VARCHAR2(30);
515 l_period_name3 VARCHAR2(30);
516 l_period_name4 VARCHAR2(30);
517 l_period_name5 VARCHAR2(30);
518 l_period_name6 VARCHAR2(30);
519 l_period_name7 VARCHAR2(30);
520 l_period_name8 VARCHAR2(30);
521 l_period_name9 VARCHAR2(30);
522 l_period_name10 VARCHAR2(30);
523 l_period_name11 VARCHAR2(30);
524 l_period_name12 VARCHAR2(30);
525 l_period_name13 VARCHAR2(30);
526 l_record_version_number NUMBER;
527 l_valid_flag VARCHAR2(2);
528 l_err_msg_code VARCHAR2(80);
529 l_period_profile_id NUMBER;
530 l_currency_code VARCHAR2(15);
531 l_currency_type VARCHAR2(30);
532 l_amount_type_id NUMBER;
533 l_amount_subtype_id NUMBER;
534
535 l_element_id_pl NUMBER;
536 l_element_id_tl NUMBER;
537 l_element_code VARCHAR2(15);
538 ll_ra_id_pl NUMBER;
539 ll_ra_id_tl NUMBER;
540 l_res_code VARCHAR2(15);
541
542 cursor_id integer;
543 l_stmt varchar2(10000);
544
545 colname1 varchar2(30);
546 colname2 varchar2(30);
547 colname3 varchar2(30);
548 colname4 varchar2(30);
549 colname5 varchar2(30);
550 colname6 varchar2(30);
551 colname7 varchar2(30);
552 colname8 varchar2(30);
553 colname9 varchar2(30);
554 colname10 varchar2(30);
555 colname11 varchar2(30);
556 colname12 varchar2(30);
557 colname13 varchar2(30);
558
559 col1 number := p_period1;
560 col2 number := p_period2;
561 col3 number := p_period3;
562 col4 number := p_period4;
563 col5 number := p_period5;
564 col6 number := p_period6;
565 col7 number := p_period7;
566 col8 number := p_period8;
567 col9 number := p_period9;
568 col10 number := p_period10;
569 col11 number := p_period11;
570 col12 number := p_period12;
571 col13 number := p_period13;
572
573 l_rows_upd number;
574
575 l_denorm_amount1_tl NUMBER;
576 l_denorm_amount2_tl NUMBER;
577 l_denorm_amount3_tl NUMBER;
578 l_denorm_amount4_tl NUMBER;
579 l_denorm_amount5_tl NUMBER;
580 l_denorm_amount6_tl NUMBER;
581 l_denorm_amount7_tl NUMBER;
582 l_denorm_amount8_tl NUMBER;
583 l_denorm_amount9_tl NUMBER;
584 l_denorm_amount10_tl NUMBER;
585 l_denorm_amount11_tl NUMBER;
586 l_denorm_amount12_tl NUMBER;
587 l_denorm_amount13_tl NUMBER;
588
589 l_denorm_amount1_pl NUMBER;
590 l_denorm_amount2_pl NUMBER;
591 l_denorm_amount3_pl NUMBER;
592 l_denorm_amount4_pl NUMBER;
593 l_denorm_amount5_pl NUMBER;
594 l_denorm_amount6_pl NUMBER;
595 l_denorm_amount7_pl NUMBER;
596 l_denorm_amount8_pl NUMBER;
597 l_denorm_amount9_pl NUMBER;
598 l_denorm_amount10_pl NUMBER;
599 l_denorm_amount11_pl NUMBER;
600 l_denorm_amount12_pl NUMBER;
601 l_denorm_amount13_pl NUMBER;
602
603 l_rev1_pl NUMBER;
604 l_rev2_pl NUMBER;
605 l_rev3_pl NUMBER;
606 l_rev4_pl NUMBER;
607 l_rev5_pl NUMBER;
608 l_rev6_pl NUMBER;
609 l_rev7_pl NUMBER;
610 l_rev8_pl NUMBER;
611 l_rev9_pl NUMBER;
612 l_rev10_pl NUMBER;
613 l_rev11_pl NUMBER;
614 l_rev12_pl NUMBER;
615 l_rev13_pl NUMBER;
616
617 l_rev1_tl NUMBER;
618 l_rev2_tl NUMBER;
619 l_rev3_tl NUMBER;
620 l_rev4_tl NUMBER;
621 l_rev5_tl NUMBER;
622 l_rev6_tl NUMBER;
623 l_rev7_tl NUMBER;
624 l_rev8_tl NUMBER;
625 l_rev9_tl NUMBER;
626 l_rev10_tl NUMBER;
627 l_rev11_tl NUMBER;
628 l_rev12_tl NUMBER;
629 l_rev13_tl NUMBER;
630
631
632 l_cost1_pl NUMBER;
633 l_cost2_pl NUMBER;
634 l_cost3_pl NUMBER;
635 l_cost4_pl NUMBER;
636 l_cost5_pl NUMBER;
637 l_cost6_pl NUMBER;
638 l_cost7_pl NUMBER;
639 l_cost8_pl NUMBER;
640 l_cost9_pl NUMBER;
641 l_cost10_pl NUMBER;
642 l_cost11_pl NUMBER;
643 l_cost12_pl NUMBER;
644 l_cost13_pl NUMBER;
645
646 l_cost1_tl NUMBER;
647 l_cost2_tl NUMBER;
648 l_cost3_tl NUMBER;
649 l_cost4_tl NUMBER;
650 l_cost5_tl NUMBER;
651 l_cost6_tl NUMBER;
652 l_cost7_tl NUMBER;
653 l_cost8_tl NUMBER;
654 l_cost9_tl NUMBER;
655 l_cost10_tl NUMBER;
656 l_cost11_tl NUMBER;
657 l_cost12_tl NUMBER;
658 l_cost13_tl NUMBER;
659
660
661 l_mgn_per1_pl NUMBER;
662 l_mgn_per2_pl NUMBER;
663 l_mgn_per3_pl NUMBER;
664 l_mgn_per4_pl NUMBER;
665 l_mgn_per5_pl NUMBER;
666 l_mgn_per6_pl NUMBER;
667 l_mgn_per7_pl NUMBER;
668 l_mgn_per8_pl NUMBER;
669 l_mgn_per9_pl NUMBER;
670 l_mgn_per10_pl NUMBER;
671 l_mgn_per11_pl NUMBER;
672 l_mgn_per12_pl NUMBER;
673 l_mgn_per13_pl NUMBER;
674
675 l_mgn_per1_tl NUMBER;
676 l_mgn_per2_tl NUMBER;
677 l_mgn_per3_tl NUMBER;
678 l_mgn_per4_tl NUMBER;
679 l_mgn_per5_tl NUMBER;
680 l_mgn_per6_tl NUMBER;
681 l_mgn_per7_tl NUMBER;
682 l_mgn_per8_tl NUMBER;
683 l_mgn_per9_tl NUMBER;
684 l_mgn_per10_tl NUMBER;
685 l_mgn_per11_tl NUMBER;
686 l_mgn_per12_tl NUMBER;
687 l_mgn_per13_tl NUMBER;
688
689 l_number_of_periods NUMBER;
690
691 BEGIN
692
693 x_return_status := FND_API.G_RET_STS_SUCCESS;
694
695
696
697
698
699 pa_fin_plan_view_global.G_FP_ADJ_REASON_CODE := p_adj_reason_code;
700
701 l_budget_version_id := p_budget_version_id;
702 l_project_id := p_project_id;
703 l_adj_reason_code := p_adj_reason_code;
704 l_adj_comments := p_adj_comments;
705
706 /*
707 pa_fin_plan_view_global.pa_fp_set_orgfcst_version_id(
708 p_orgfcst_version_id => l_budget_version_id,
709 x_return_status => l_return_status,
710 x_msg_count => l_msg_count,
711 x_msg_data => l_msg_data
712 );
713 */
714
715 /* populate the glob temp table */
716 /*
717 insert into PA_FP_ADJ_GLOB_TMP
718 (AMOUNT_TYPE_CODE,
719 AMOUNT_SUBTYPE_CODE,
720 ADJUSTMENT_COMMENTS,
721 CURRENCY_CODE,
722 ADJUSTMENT_REASON_CODE,
723 BUDGET_VERSION_ID,
724 PROJECT_ID,
725 PERIOD1_AMOUNT,
726 PERIOD1_NAME,
727 PERIOD2_AMOUNT,
728 PERIOD2_NAME ,
729 PERIOD3_AMOUNT,
730 PERIOD3_NAME ,
731 PERIOD4_AMOUNT ,
732 PERIOD4_NAME ,
733 PERIOD5_AMOUNT ,
734 PERIOD5_NAME ,
735 PERIOD6_AMOUNT ,
736 PERIOD6_NAME ,
737 PERIOD7_AMOUNT ,
738 PERIOD7_NAME ,
739 PERIOD8_AMOUNT ,
740 PERIOD8_NAME,
741 PERIOD9_AMOUNT,
742 PERIOD9_NAME ,
743 PERIOD10_AMOUNT,
744 PERIOD10_NAME ,
745 PERIOD11_AMOUNT ,
746 PERIOD11_NAME,
747 PERIOD12_AMOUNT,
748 PERIOD12_NAME ,
749 PERIOD13_AMOUNT ,
750 PERIOD13_NAME)
751 select p_amount_type_code,
752 p_amount_subtype_code,
753 p_adj_comments,
754 p_currency_code,
755 p_adj_reason_code,
756 l_budget_version_id,
757 p_project_id,
758 p_period1,
759 pn.period_name1,
760 p_period2,
761 pn.period_name2,
762 p_period3,
763 pn.period_name3,
764 p_period4,
765 pn.period_name4,
766 p_period5,
767 pn.period_name5,
768 p_period6,
769 pn.period_name6,
770 p_period7,
771 pn.period_name7,
772 p_period8,
773 pn.period_name8,
774 p_period9,
775 pn.period_name9,
776 p_period10,
777 pn.period_name10,
778 p_period11,
779 pn.period_name11,
780 p_period12,
781 pn.period_name12,
782 p_period13,
783 pn.period_name13
784 from pa_fp_period_names_v pn;
785
786 */
787
788 select period_name1,
789 period_name2,
790 period_name3,
791 period_name4,
792 period_name5,
793 period_name6,
794 period_name7,
795 period_name8,
796 period_name9,
797 period_name10,
798 period_name11,
799 period_name12,
800 period_name13
801 into l_period_name1,
802 l_period_name2,
803 l_period_name3,
804 l_period_name4,
805 l_period_name5,
806 l_period_name6,
807 l_period_name7,
808 l_period_name8,
809 l_period_name9,
810 l_period_name10,
811 l_period_name11,
812 l_period_name12,
813 l_period_name13
814 from pa_fp_period_names_v;
815
816 select pp.number_of_periods
817 into l_number_of_periods
818 from pa_proj_period_profiles pp,
819 pa_budget_versions pbv
820 where pbv.budget_version_id = l_budget_version_id
821 and pp.period_profile_id = pbv.period_profile_id;
822
823
824 select resource_assignment_id,task_id
825 into l_ra_id_pl,l_task_id_pl
826 from pa_resource_assignments
827 where budget_version_id = l_budget_version_id
828 and resource_assignment_type = 'PROJECT';
829
830 select resource_assignment_id,task_id
831 into l_ra_id_tl,l_task_id_tl
832 from pa_resource_assignments
833 where budget_version_id = l_budget_version_id
834 and resource_assignment_type = 'OWN';
835
836 -- IF p_period_type = 'GL' Then
837 l_amount_type_code := p_amount_type_code;
838 l_amount_subtype_code:= p_amount_subtype_code;
839
840 /****************************************************************************************/
841 /*Update pa_fp_adj_elements*/
842 /***************************************************************************************/
843 begin
844 select adj_element_id
845 into l_adj_element_id_pl
846 from pa_fp_adj_elements
847 where resource_assignment_id = l_ra_id_pl
848 and adjustment_reason_code = l_adj_reason_code;
849
850 pa_fp_adj_elements_pkg.
851 update_row(p_adj_element_id => l_adj_element_id_pl,
852 p_adjustment_comments => l_adj_comments,
853 x_return_status => l_return_status );
854
855 exception
856
857 WHEN NO_DATA_FOUND THEN
858
859 pa_fp_adj_elements_pkg.
860 insert_row(px_adj_element_id => l_adj_element_id_pl,
861 p_resource_assignment_id => l_ra_id_pl,
862 p_budget_version_id => l_budget_version_id,
863 p_project_id => l_project_id,
864 p_task_id => l_task_id_pl,
865 p_adjustment_reason_code =>l_adj_reason_code,
866 p_adjustment_comments => l_adj_comments,
867 x_row_id => l_row_id,
868 x_return_status =>l_return_status );
869
870 end;
871
872 begin
873 select adj_element_id
874 into l_adj_element_id_tl
875 from pa_fp_adj_elements
876 where resource_assignment_id = l_ra_id_tl
877 and adjustment_reason_code = l_adj_reason_code;
878
879 pa_fp_adj_elements_pkg.
880 update_row(p_adj_element_id => l_adj_element_id_tl,
881 p_adjustment_comments => l_adj_comments,
882 x_return_status => l_return_status );
883
884 exception
885
886 WHEN NO_DATA_FOUND THEN
887
888 pa_fp_adj_elements_pkg.
889 insert_row(px_adj_element_id => l_adj_element_id_tl,
890 p_resource_assignment_id => l_ra_id_tl,
891 p_budget_version_id => l_budget_version_id,
892 p_project_id => l_project_id,
893 p_task_id => l_task_id_tl,
894 p_adjustment_reason_code =>l_adj_reason_code,
895 p_adjustment_comments => l_adj_comments,
896 x_row_id => l_row_id,
897 x_return_status =>l_return_status );
898
899 end;
900
901
902 /****************************************************************************************/
903 /*End of Update pa_fp_adj_elements*/
904 /***************************************************************************************/
905
906
907 /****************************************************************************************/
908 /*Update pa_fin_plan_adj_lines*/
909 /***************************************************************************************/
910
911
912 /*for period 1*/
913
914 if l_period_name1 is not null then
915
916 begin
917
918 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE1;
919 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE1;
920 l_period_amount := p_period1;
921 l_period_name := l_period_name1;
922
923 select FIN_PLAN_ADJ_LINE_ID
924 into l_fin_plan_adj_line_id1
925 from pa_fin_plan_adj_lines
926 where budget_version_id = l_budget_version_id
927 and period_name=l_period_name
928 and resource_assignment_id = l_ra_id_tl
929 and adj_element_id = l_adj_element_id_tl;
930
931 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
932
933
934
935 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
936 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
937 p_revenue_adjustment => l_period_amount,
938 x_return_status => l_return_status);
939
940 END IF;
941
942
943 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
944
945
946
947 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
948 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
949 p_burdened_cost_adjustment => l_period_amount,
950 x_return_status => l_return_status);
951
952 END IF;
953
954 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
955
956
957
958 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
959 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
960 p_utilization_adjustment => l_period_amount,
961 x_return_status => l_return_status);
962
963 END IF;
964
965 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
966
967
968
969 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
970 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
971 p_head_count_adjustment => l_period_amount,
972 x_return_status => l_return_status);
973
974 END IF;
975
976
977
978
979 exception
980 WHEN NO_DATA_FOUND THEN
981
982 /*for task level res asg ID*/
983
984 /* for period 1*/
985
986
987
988 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
989
990
991
992 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
993 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
994 p_adj_element_id => l_adj_element_id_tl,
995 p_project_id => l_project_id,
996 p_task_id => l_task_id_tl,
997 p_budget_version_id => l_budget_version_id,
998 p_resource_assignment_id => l_ra_id_tl,
999 p_period_name => l_period_name,
1000 p_start_date => l_start_date,
1001 p_end_date => l_end_date,
1002 p_revenue_adjustment => l_period_amount,
1003 x_row_id => l_row_id,
1004 x_return_status => l_return_status);
1005
1006 END IF;
1007
1008 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1009
1010
1011
1012 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1013 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
1014 p_adj_element_id => l_adj_element_id_tl,
1015 p_project_id => l_project_id,
1016 p_task_id => l_task_id_tl,
1017 p_budget_version_id => l_budget_version_id,
1018 p_resource_assignment_id => l_ra_id_tl,
1019 p_period_name => l_period_name,
1020 p_start_date => l_start_date,
1021 p_end_date => l_end_date,
1022 p_burdened_cost_adjustment => l_period_amount,
1023 x_row_id => l_row_id,
1024 x_return_status => l_return_status);
1025
1026 END IF;
1027
1028 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1029
1030
1031
1032 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1033 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
1034 p_adj_element_id => l_adj_element_id_tl,
1035 p_project_id => l_project_id,
1036 p_task_id => l_task_id_tl,
1037 p_budget_version_id => l_budget_version_id,
1038 p_resource_assignment_id => l_ra_id_tl,
1039 p_period_name => l_period_name,
1040 p_start_date => l_start_date,
1041 p_end_date => l_end_date,
1042 p_utilization_adjustment => l_period_amount,
1043 x_row_id => l_row_id,
1044 x_return_status => l_return_status);
1045
1046 END IF;
1047
1048 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1049
1050
1051
1052 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1053 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
1054 p_project_id => l_project_id,
1055 p_adj_element_id => l_adj_element_id_tl,
1056 p_task_id => l_task_id_tl,
1057 p_budget_version_id => l_budget_version_id,
1058 p_resource_assignment_id => l_ra_id_tl,
1059 p_period_name => l_period_name,
1060 p_start_date => l_start_date,
1061 p_end_date => l_end_date,
1062 p_head_count_adjustment => l_period_amount,
1063 x_row_id => l_row_id,
1064 x_return_status => l_return_status);
1065
1066 END IF;
1067
1068
1069 END;
1070
1071 end if;
1072
1073 /*end begin for period 1*/
1074
1075
1076 /*for period 2*/
1077 if l_period_name2 is not null then
1078 begin
1079
1080 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE2;
1081 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE2;
1082 l_period_amount := p_period2;
1083 l_period_name := l_period_name2;
1084
1085 select FIN_PLAN_ADJ_LINE_ID
1086 into l_fin_plan_adj_line_id2
1087 from pa_fin_plan_adj_lines
1088 where budget_version_id = l_budget_version_id
1089 and period_name=l_period_name
1090 and resource_assignment_id = l_ra_id_tl
1091 and adj_element_id = l_adj_element_id_tl;
1092
1093 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1094
1095
1096
1097 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1098 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
1099 p_revenue_adjustment => l_period_amount,
1100 x_return_status => l_return_status);
1101
1102 END IF;
1103
1104
1105 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1106
1107 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1108 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
1109 p_burdened_cost_adjustment => l_period_amount,
1110 x_return_status => l_return_status);
1111
1112 END IF;
1113
1114 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1115
1116
1117
1118 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1119 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
1120 p_utilization_adjustment => l_period_amount,
1121 x_return_status => l_return_status);
1122
1123 END IF;
1124
1125 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1126
1127
1128
1129 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1130 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
1131 p_head_count_adjustment => l_period_amount,
1132 x_return_status => l_return_status);
1133
1134 END IF;
1135
1136
1137 exception
1138 WHEN NO_DATA_FOUND THEN
1139
1140 /*for task level res asg ID*/
1141
1142 /* for period 1*/
1143
1144
1145
1146 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1147
1148
1149
1150 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1151 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
1152 p_adj_element_id => l_adj_element_id_tl,
1153 p_project_id => l_project_id,
1154 p_task_id => l_task_id_tl,
1155 p_budget_version_id => l_budget_version_id,
1156 p_resource_assignment_id => l_ra_id_tl,
1157 p_period_name => l_period_name,
1158 p_start_date => l_start_date,
1159 p_end_date => l_end_date,
1160 p_revenue_adjustment => l_period_amount,
1161 x_row_id => l_row_id,
1162 x_return_status => l_return_status);
1163
1164 END IF;
1165
1166 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1167
1168
1169
1170 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1171 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
1172 p_adj_element_id => l_adj_element_id_tl,
1173 p_project_id => l_project_id,
1174 p_task_id => l_task_id_tl,
1175 p_budget_version_id => l_budget_version_id,
1176 p_resource_assignment_id => l_ra_id_tl,
1177 p_period_name => l_period_name,
1178 p_start_date => l_start_date,
1179 p_end_date => l_end_date,
1180 p_burdened_cost_adjustment => l_period_amount,
1181 x_row_id => l_row_id,
1182 x_return_status => l_return_status);
1183
1184 END IF;
1185
1186 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1187
1188
1189
1190 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1191 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
1192 p_adj_element_id => l_adj_element_id_tl,
1193 p_project_id => l_project_id,
1194 p_task_id => l_task_id_tl,
1195 p_budget_version_id => l_budget_version_id,
1196 p_resource_assignment_id => l_ra_id_tl,
1197 p_period_name => l_period_name,
1198 p_start_date => l_start_date,
1199 p_end_date => l_end_date,
1200 p_utilization_adjustment => l_period_amount,
1201 x_row_id => l_row_id,
1202 x_return_status => l_return_status);
1203
1204 END IF;
1205
1206 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1207
1208
1209
1210 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1211 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
1212 p_adj_element_id => l_adj_element_id_tl,
1213 p_project_id => l_project_id,
1214 p_task_id => l_task_id_tl,
1215 p_budget_version_id => l_budget_version_id,
1216 p_resource_assignment_id => l_ra_id_tl,
1217 p_period_name => l_period_name,
1218 p_start_date => l_start_date,
1219 p_end_date => l_end_date,
1220 p_head_count_adjustment => l_period_amount,
1221 x_row_id => l_row_id,
1222 x_return_status => l_return_status);
1223
1224 END IF;
1225
1226
1227
1228 END;
1229
1230 end if;
1231 /*end begin for period 2*/
1232
1233
1234 /*for period 3*/
1235 if l_period_name3 is not null then
1236 begin
1237
1238 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE3;
1239 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE3;
1240 l_period_amount := p_period3;
1241 l_period_name := l_period_name3;
1242
1243 select FIN_PLAN_ADJ_LINE_ID
1244 into l_fin_plan_adj_line_id3
1245 from pa_fin_plan_adj_lines
1246 where budget_version_id = l_budget_version_id
1247 and period_name=l_period_name
1248 and resource_assignment_id = l_ra_id_tl
1249 and adj_element_id = l_adj_element_id_tl;
1250
1251 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1252
1253
1254
1255 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1256 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
1257 p_revenue_adjustment => l_period_amount,
1258 x_return_status => l_return_status);
1259
1260 END IF;
1261
1262
1263 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1264
1265
1266
1267 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1268 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
1269 p_burdened_cost_adjustment => l_period_amount,
1270 x_return_status => l_return_status);
1271
1272 END IF;
1273
1274 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1275
1276
1277
1278 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1279 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
1280 p_utilization_adjustment => l_period_amount,
1281 x_return_status => l_return_status);
1282
1283 END IF;
1284
1285 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1286
1287
1288
1289 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1290 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
1291 p_head_count_adjustment => l_period_amount,
1292 x_return_status => l_return_status);
1293
1294 END IF;
1295
1296
1297
1298
1299 exception
1300 WHEN NO_DATA_FOUND THEN
1301
1302 /*for task level res asg ID*/
1303
1304 /* for period 3*/
1305
1306
1307
1308 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1309
1310
1311
1312 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1313 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
1314 p_adj_element_id => l_adj_element_id_tl,
1315 p_project_id => l_project_id,
1316 p_task_id => l_task_id_tl,
1317 p_budget_version_id => l_budget_version_id,
1318 p_resource_assignment_id => l_ra_id_tl,
1319 p_period_name => l_period_name,
1320 p_start_date => l_start_date,
1321 p_end_date => l_end_date,
1322 p_revenue_adjustment => l_period_amount,
1323 x_row_id => l_row_id,
1324 x_return_status => l_return_status);
1325
1326 END IF;
1327
1328 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1329
1330
1331
1332 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1333 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
1334 p_adj_element_id => l_adj_element_id_tl,
1335 p_project_id => l_project_id,
1336 p_task_id => l_task_id_tl,
1337 p_budget_version_id => l_budget_version_id,
1338 p_resource_assignment_id => l_ra_id_tl,
1339 p_period_name => l_period_name,
1340 p_start_date => l_start_date,
1341 p_end_date => l_end_date,
1342 p_burdened_cost_adjustment => l_period_amount,
1343 x_row_id => l_row_id,
1344 x_return_status => l_return_status);
1345
1346 END IF;
1347
1348 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1349
1350
1351
1352 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1353 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
1354 p_adj_element_id => l_adj_element_id_tl,
1355 p_project_id => l_project_id,
1356 p_task_id => l_task_id_tl,
1357 p_budget_version_id => l_budget_version_id,
1358 p_resource_assignment_id => l_ra_id_tl,
1359 p_period_name => l_period_name,
1360 p_start_date => l_start_date,
1361 p_end_date => l_end_date,
1362 p_utilization_adjustment => l_period_amount,
1363 x_row_id => l_row_id,
1364 x_return_status => l_return_status);
1365
1366 END IF;
1367
1368 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1369
1370
1371
1372 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1373 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
1374 p_adj_element_id => l_adj_element_id_tl,
1375 p_project_id => l_project_id,
1376 p_task_id => l_task_id_tl,
1377 p_budget_version_id => l_budget_version_id,
1378 p_resource_assignment_id => l_ra_id_tl,
1379 p_period_name => l_period_name,
1380 p_start_date => l_start_date,
1381 p_end_date => l_end_date,
1382 p_head_count_adjustment => l_period_amount,
1383 x_row_id => l_row_id,
1384 x_return_status => l_return_status);
1385
1386 END IF;
1387
1388
1389
1390 END;
1391 /*end begin for period 3*/
1392 end if;
1393
1394
1395 /*for period 4*/
1396 if l_period_name4 is not null then
1397 begin
1398
1399 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE4;
1400 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE4;
1401 l_period_amount := p_period4;
1402 l_period_name := l_period_name4;
1403
1404 select FIN_PLAN_ADJ_LINE_ID
1405 into l_fin_plan_adj_line_id4
1406 from pa_fin_plan_adj_lines
1407 where budget_version_id = l_budget_version_id
1408 and period_name=l_period_name
1409 and resource_assignment_id = l_ra_id_tl
1410 and adj_element_id = l_adj_element_id_tl;
1411
1412
1413 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1414
1415
1416
1417 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1418 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
1419 p_revenue_adjustment => l_period_amount,
1420 x_return_status => l_return_status);
1421
1422 END IF;
1423
1424
1425 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1426
1427
1428
1429 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1430 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
1431 p_burdened_cost_adjustment => l_period_amount,
1432 x_return_status => l_return_status);
1433
1434 END IF;
1435
1436 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1437
1438
1439
1440 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1441 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
1442 p_utilization_adjustment => l_period_amount,
1443 x_return_status => l_return_status);
1444
1445 END IF;
1446
1447 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1448
1449
1450
1451 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1452 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
1453 p_head_count_adjustment => l_period_amount,
1454 x_return_status => l_return_status);
1455
1456 END IF;
1457
1458
1459
1460
1461 exception
1462 WHEN NO_DATA_FOUND THEN
1463
1464 /*for task level res asg ID*/
1465
1466 /* for period 4*/
1467
1468
1469
1470 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1471
1472
1473
1474 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1475 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
1476 p_adj_element_id => l_adj_element_id_tl,
1477 p_project_id => l_project_id,
1478 p_task_id => l_task_id_tl,
1479 p_budget_version_id => l_budget_version_id,
1480 p_resource_assignment_id => l_ra_id_tl,
1481 p_period_name => l_period_name,
1482 p_start_date => l_start_date,
1483 p_end_date => l_end_date,
1484 p_revenue_adjustment => l_period_amount,
1485 x_row_id => l_row_id,
1486 x_return_status => l_return_status);
1487
1488 END IF;
1489
1490 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1491
1492
1493
1494 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1495 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
1496 p_adj_element_id => l_adj_element_id_tl,
1497 p_project_id => l_project_id,
1498 p_task_id => l_task_id_tl,
1499 p_budget_version_id => l_budget_version_id,
1500 p_resource_assignment_id => l_ra_id_tl,
1501 p_period_name => l_period_name,
1502 p_start_date => l_start_date,
1503 p_end_date => l_end_date,
1504 p_burdened_cost_adjustment => l_period_amount,
1505 x_row_id => l_row_id,
1506 x_return_status => l_return_status);
1507
1508 END IF;
1509
1510 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1511
1512
1513
1514 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1515 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
1516 p_adj_element_id => l_adj_element_id_tl,
1517 p_project_id => l_project_id,
1518 p_task_id => l_task_id_tl,
1519 p_budget_version_id => l_budget_version_id,
1520 p_resource_assignment_id => l_ra_id_tl,
1521 p_period_name => l_period_name,
1522 p_start_date => l_start_date,
1523 p_end_date => l_end_date,
1524 p_utilization_adjustment => l_period_amount,
1525 x_row_id => l_row_id,
1526 x_return_status => l_return_status);
1527
1528 END IF;
1529
1530 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1531
1532
1533
1534 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1535 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
1536 p_adj_element_id => l_adj_element_id_tl,
1537 p_project_id => l_project_id,
1538 p_task_id => l_task_id_tl,
1539 p_budget_version_id => l_budget_version_id,
1540 p_resource_assignment_id => l_ra_id_tl,
1541 p_period_name => l_period_name,
1542 p_start_date => l_start_date,
1543 p_end_date => l_end_date,
1544 p_head_count_adjustment => l_period_amount,
1545 x_row_id => l_row_id,
1546 x_return_status => l_return_status);
1547
1548 END IF;
1549
1550
1551
1552 END;
1553 /*end begin for period 4*/
1554
1555 end if;
1556 /*for period 5*/
1557 if l_period_name5 is not null then
1558 begin
1559
1560 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE5;
1561 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE5;
1562 l_period_amount := p_period5;
1563 l_period_name := l_period_name5;
1564
1565 select FIN_PLAN_ADJ_LINE_ID
1566 into l_fin_plan_adj_line_id5
1567 from pa_fin_plan_adj_lines
1568 where budget_version_id = l_budget_version_id
1569 and period_name=l_period_name
1570 and resource_assignment_id = l_ra_id_tl
1571 and adj_element_id = l_adj_element_id_tl;
1572
1573
1574 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1575
1576
1577
1578 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1579 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
1580 p_revenue_adjustment => l_period_amount,
1581 x_return_status => l_return_status);
1582
1583 END IF;
1584
1585
1586 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1587
1588
1589
1590 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1591 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
1592 p_burdened_cost_adjustment => l_period_amount,
1593 x_return_status => l_return_status);
1594
1595 END IF;
1596
1597 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1598
1599
1600
1601 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1602 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
1603 p_utilization_adjustment => l_period_amount,
1604 x_return_status => l_return_status);
1605
1606 END IF;
1607
1608 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1609
1610
1611
1612 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1613 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
1614 p_head_count_adjustment => l_period_amount,
1615 x_return_status => l_return_status);
1616
1617 END IF;
1618
1619
1620 exception
1621 WHEN NO_DATA_FOUND THEN
1622
1623 /*for task level res asg ID*/
1624
1625 /* for period 5*/
1626
1627
1628
1629 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1630
1631
1632
1633 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1634 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
1635 p_adj_element_id => l_adj_element_id_tl,
1636 p_project_id => l_project_id,
1637 p_task_id => l_task_id_tl,
1638 p_budget_version_id => l_budget_version_id,
1639 p_resource_assignment_id => l_ra_id_tl,
1640 p_period_name => l_period_name,
1641 p_start_date => l_start_date,
1642 p_end_date => l_end_date,
1643 p_revenue_adjustment => l_period_amount,
1644 x_row_id => l_row_id,
1645 x_return_status => l_return_status);
1646
1647 END IF;
1648
1649 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1650
1651
1652
1653 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1654 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
1655 p_adj_element_id => l_adj_element_id_tl,
1656 p_project_id => l_project_id,
1657 p_task_id => l_task_id_tl,
1658 p_budget_version_id => l_budget_version_id,
1659 p_resource_assignment_id => l_ra_id_tl,
1660 p_period_name => l_period_name,
1661 p_start_date => l_start_date,
1662 p_end_date => l_end_date,
1663 p_burdened_cost_adjustment => l_period_amount,
1664 x_row_id => l_row_id,
1665 x_return_status => l_return_status);
1666
1667 END IF;
1668
1669 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1670
1671
1672
1673 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1674 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
1675 p_adj_element_id => l_adj_element_id_tl,
1676 p_project_id => l_project_id,
1677 p_task_id => l_task_id_tl,
1678 p_budget_version_id => l_budget_version_id,
1679 p_resource_assignment_id => l_ra_id_tl,
1680 p_period_name => l_period_name,
1681 p_start_date => l_start_date,
1682 p_end_date => l_end_date,
1683 p_utilization_adjustment => l_period_amount,
1684 x_row_id => l_row_id,
1685 x_return_status => l_return_status);
1686
1687 END IF;
1688
1689 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1690
1691
1692
1693 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1694 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
1695 p_adj_element_id => l_adj_element_id_tl,
1696 p_project_id => l_project_id,
1697 p_task_id => l_task_id_tl,
1698 p_budget_version_id => l_budget_version_id,
1699 p_resource_assignment_id => l_ra_id_tl,
1700 p_period_name => l_period_name,
1701 p_start_date => l_start_date,
1702 p_end_date => l_end_date,
1703 p_head_count_adjustment => l_period_amount,
1704 x_row_id => l_row_id,
1705 x_return_status => l_return_status);
1706
1707 END IF;
1708
1709
1710
1711 END;
1712 /*end begin for period 5*/
1713 end if;
1714
1715 /*for period 6*/
1716 if l_period_name6 is not null then
1717 begin
1718
1719 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE6;
1720 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE6;
1721 l_period_amount := p_period6;
1722 l_period_name := l_period_name6;
1723
1724 select FIN_PLAN_ADJ_LINE_ID
1725 into l_fin_plan_adj_line_id6
1726 from pa_fin_plan_adj_lines
1727 where budget_version_id = l_budget_version_id
1728 and period_name=l_period_name
1729 and resource_assignment_id = l_ra_id_tl
1730 and adj_element_id = l_adj_element_id_tl;
1731
1732
1733 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1734
1735
1736
1737 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1738 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
1739 p_revenue_adjustment => l_period_amount,
1740 x_return_status => l_return_status);
1741
1742 END IF;
1743
1744
1745 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1746
1747
1748
1749 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1750 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
1751 p_burdened_cost_adjustment => l_period_amount,
1752 x_return_status => l_return_status);
1753
1754 END IF;
1755
1756 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1757
1758
1759
1760 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1761 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
1762 p_utilization_adjustment => l_period_amount,
1763 x_return_status => l_return_status);
1764
1765 END IF;
1766
1767 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1768
1769
1770
1771 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1772 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
1773 p_head_count_adjustment => l_period_amount,
1774 x_return_status => l_return_status);
1775
1776 END IF;
1777
1778
1779
1780
1781 exception
1782 WHEN NO_DATA_FOUND THEN
1783
1784 /*for task level res asg ID*/
1785
1786 /* for period 6*/
1787
1788
1789
1790 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1791
1792
1793
1794 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1795 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
1796 p_adj_element_id => l_adj_element_id_tl,
1797 p_project_id => l_project_id,
1798 p_task_id => l_task_id_tl,
1799 p_budget_version_id => l_budget_version_id,
1800 p_resource_assignment_id => l_ra_id_tl,
1801 p_period_name => l_period_name,
1802 p_start_date => l_start_date,
1803 p_end_date => l_end_date,
1804 p_revenue_adjustment => l_period_amount,
1805 x_row_id => l_row_id,
1806 x_return_status => l_return_status);
1807
1808 END IF;
1809
1810 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1811
1812
1813
1814 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1815 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
1816 p_adj_element_id => l_adj_element_id_tl,
1817 p_project_id => l_project_id,
1818 p_task_id => l_task_id_tl,
1819 p_budget_version_id => l_budget_version_id,
1820 p_resource_assignment_id => l_ra_id_tl,
1821 p_period_name => l_period_name,
1822 p_start_date => l_start_date,
1823 p_end_date => l_end_date,
1824 p_burdened_cost_adjustment => l_period_amount,
1825 x_row_id => l_row_id,
1826 x_return_status => l_return_status);
1827
1828 END IF;
1829
1830 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1831
1832
1833
1834 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1835 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
1836 p_adj_element_id => l_adj_element_id_tl,
1837 p_project_id => l_project_id,
1838 p_task_id => l_task_id_tl,
1839 p_budget_version_id => l_budget_version_id,
1840 p_resource_assignment_id => l_ra_id_tl,
1841 p_period_name => l_period_name,
1842 p_start_date => l_start_date,
1843 p_end_date => l_end_date,
1844 p_utilization_adjustment => l_period_amount,
1845 x_row_id => l_row_id,
1846 x_return_status => l_return_status);
1847
1848 END IF;
1849
1850 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1851
1852
1853
1854 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1855 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
1856 p_adj_element_id => l_adj_element_id_tl,
1857 p_project_id => l_project_id,
1858 p_task_id => l_task_id_tl,
1859 p_budget_version_id => l_budget_version_id,
1860 p_resource_assignment_id => l_ra_id_tl,
1861 p_period_name => l_period_name,
1862 p_start_date => l_start_date,
1863 p_end_date => l_end_date,
1864 p_head_count_adjustment => l_period_amount,
1865 x_row_id => l_row_id,
1866 x_return_status => l_return_status);
1867
1868 END IF;
1869
1870
1871
1872 END;
1873 /*end begin for period 6*/
1874 end if;
1875
1876 IF p_period_type = 'PA' THEN
1877
1878 /*for period 7*/
1879 if l_period_name7 is not null then
1880 begin
1881
1882 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE7;
1883 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE7;
1884 l_period_amount := p_period7;
1885 l_period_name := l_period_name7;
1886
1887 select FIN_PLAN_ADJ_LINE_ID
1888 into l_fin_plan_adj_line_id7
1889 from pa_fin_plan_adj_lines
1890 where budget_version_id = l_budget_version_id
1891 and period_name=l_period_name
1892 and resource_assignment_id = l_ra_id_tl
1893 and adj_element_id = l_adj_element_id_tl;
1894
1895 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1896
1897
1898
1899 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1900 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
1901 p_revenue_adjustment => l_period_amount,
1902 x_return_status => l_return_status);
1903
1904 END IF;
1905
1906
1907 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1908
1909
1910
1911 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1912 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
1913 p_burdened_cost_adjustment => l_period_amount,
1914 x_return_status => l_return_status);
1915
1916 END IF;
1917
1918 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1919
1920
1921
1922 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1923 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
1924 p_utilization_adjustment => l_period_amount,
1925 x_return_status => l_return_status);
1926
1927 END IF;
1928
1929 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
1930
1931
1932
1933 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1934 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
1935 p_head_count_adjustment => l_period_amount,
1936 x_return_status => l_return_status);
1937
1938 END IF;
1939
1940
1941
1942
1943 exception
1944 WHEN NO_DATA_FOUND THEN
1945
1946 /*for task level res asg ID*/
1947
1948 /* for period 7*/
1949
1950
1951
1952 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
1953
1954
1955
1956 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1957 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
1958 p_adj_element_id => l_adj_element_id_tl,
1959 p_project_id => l_project_id,
1960 p_task_id => l_task_id_tl,
1961 p_budget_version_id => l_budget_version_id,
1962 p_resource_assignment_id => l_ra_id_tl,
1963 p_period_name => l_period_name,
1964 p_start_date => l_start_date,
1965 p_end_date => l_end_date,
1966 p_revenue_adjustment => l_period_amount,
1967 x_row_id => l_row_id,
1968 x_return_status => l_return_status);
1969
1970 END IF;
1971
1972 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
1973
1974
1975
1976 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1977 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
1978 p_adj_element_id => l_adj_element_id_tl,
1979 p_project_id => l_project_id,
1980 p_task_id => l_task_id_tl,
1981 p_budget_version_id => l_budget_version_id,
1982 p_resource_assignment_id => l_ra_id_tl,
1983 p_period_name => l_period_name,
1984 p_start_date => l_start_date,
1985 p_end_date => l_end_date,
1986 p_burdened_cost_adjustment => l_period_amount,
1987 x_row_id => l_row_id,
1988 x_return_status => l_return_status);
1989
1990 END IF;
1991
1992 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
1993
1994
1995
1996 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
1997 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
1998 p_adj_element_id => l_adj_element_id_tl,
1999 p_project_id => l_project_id,
2000 p_task_id => l_task_id_tl,
2001 p_budget_version_id => l_budget_version_id,
2002 p_resource_assignment_id => l_ra_id_tl,
2003 p_period_name => l_period_name,
2004 p_start_date => l_start_date,
2005 p_end_date => l_end_date,
2006 p_utilization_adjustment => l_period_amount,
2007 x_row_id => l_row_id,
2008 x_return_status => l_return_status);
2009
2010 END IF;
2011
2012 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2013
2014
2015
2016 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2017 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
2018 p_project_id => l_project_id,
2019 p_adj_element_id => l_adj_element_id_tl,
2020 p_task_id => l_task_id_tl,
2021 p_budget_version_id => l_budget_version_id,
2022 p_resource_assignment_id => l_ra_id_tl,
2023 p_period_name => l_period_name,
2024 p_start_date => l_start_date,
2025 p_end_date => l_end_date,
2026 p_head_count_adjustment => l_period_amount,
2027 x_row_id => l_row_id,
2028 x_return_status => l_return_status);
2029
2030 END IF;
2031
2032
2033
2034 END;
2035 /*end begin for period 7*/
2036 end if;
2037
2038 /*for period 8*/
2039 if l_period_name8 is not null then
2040 begin
2041
2042 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE8;
2043 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE8;
2044 l_period_amount := p_period8;
2045 l_period_name := l_period_name8;
2046
2047 select FIN_PLAN_ADJ_LINE_ID
2048 into l_fin_plan_adj_line_id8
2049 from pa_fin_plan_adj_lines
2050 where budget_version_id = l_budget_version_id
2051 and period_name=l_period_name
2052 and resource_assignment_id = l_ra_id_tl
2053 and adj_element_id = l_adj_element_id_tl;
2054
2055 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2056
2057
2058
2059 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2060 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
2061 p_revenue_adjustment => l_period_amount,
2062 x_return_status => l_return_status);
2063
2064 END IF;
2065
2066
2067 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2068
2069 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2070 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
2071 p_burdened_cost_adjustment => l_period_amount,
2072 x_return_status => l_return_status);
2073
2074 END IF;
2075
2076 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2077
2078
2079
2080 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2081 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
2082 p_utilization_adjustment => l_period_amount,
2083 x_return_status => l_return_status);
2084
2085 END IF;
2086
2087 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2088
2089
2090
2091 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2092 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
2093 p_head_count_adjustment => l_period_amount,
2094 x_return_status => l_return_status);
2095
2096 END IF;
2097
2098
2099 exception
2100 WHEN NO_DATA_FOUND THEN
2101
2102 /*for task level res asg ID*/
2103
2104 /* for period 8*/
2105
2106
2107
2108 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2109
2110
2111
2112 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2113 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
2114 p_adj_element_id => l_adj_element_id_tl,
2115 p_project_id => l_project_id,
2116 p_task_id => l_task_id_tl,
2117 p_budget_version_id => l_budget_version_id,
2118 p_resource_assignment_id => l_ra_id_tl,
2119 p_period_name => l_period_name,
2120 p_start_date => l_start_date,
2121 p_end_date => l_end_date,
2122 p_revenue_adjustment => l_period_amount,
2123 x_row_id => l_row_id,
2124 x_return_status => l_return_status);
2125
2126 END IF;
2127
2128 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2129
2130
2131
2132 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2133 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
2134 p_adj_element_id => l_adj_element_id_tl,
2135 p_project_id => l_project_id,
2136 p_task_id => l_task_id_tl,
2137 p_budget_version_id => l_budget_version_id,
2138 p_resource_assignment_id => l_ra_id_tl,
2139 p_period_name => l_period_name,
2140 p_start_date => l_start_date,
2141 p_end_date => l_end_date,
2142 p_burdened_cost_adjustment => l_period_amount,
2143 x_row_id => l_row_id,
2144 x_return_status => l_return_status);
2145
2146 END IF;
2147
2148 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2149
2150
2151
2152 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2153 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
2154 p_adj_element_id => l_adj_element_id_tl,
2155 p_project_id => l_project_id,
2156 p_task_id => l_task_id_tl,
2157 p_budget_version_id => l_budget_version_id,
2158 p_resource_assignment_id => l_ra_id_tl,
2159 p_period_name => l_period_name,
2160 p_start_date => l_start_date,
2161 p_end_date => l_end_date,
2162 p_utilization_adjustment => l_period_amount,
2163 x_row_id => l_row_id,
2164 x_return_status => l_return_status);
2165
2166 END IF;
2167
2168 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2169
2170
2171
2172 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2173 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
2174 p_adj_element_id => l_adj_element_id_tl,
2175 p_project_id => l_project_id,
2176 p_task_id => l_task_id_tl,
2177 p_budget_version_id => l_budget_version_id,
2178 p_resource_assignment_id => l_ra_id_tl,
2179 p_period_name => l_period_name,
2180 p_start_date => l_start_date,
2181 p_end_date => l_end_date,
2182 p_head_count_adjustment => l_period_amount,
2183 x_row_id => l_row_id,
2184 x_return_status => l_return_status);
2185
2186 END IF;
2187
2188
2189
2190 END;
2191 /*end begin for period 8*/
2192 end if;
2193
2194 /*for period 9*/
2195 if l_period_name9 is not null then
2196 begin
2197
2198 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE9;
2199 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE9;
2200 l_period_amount := p_period9;
2201 l_period_name := l_period_name9;
2202
2203 select FIN_PLAN_ADJ_LINE_ID
2204 into l_fin_plan_adj_line_id9
2205 from pa_fin_plan_adj_lines
2206 where budget_version_id = l_budget_version_id
2207 and period_name=l_period_name
2208 and resource_assignment_id = l_ra_id_tl
2209 and adj_element_id = l_adj_element_id_tl;
2210
2211 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2212
2213
2214
2215 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2216 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
2217 p_revenue_adjustment => l_period_amount,
2218 x_return_status => l_return_status);
2219
2220 END IF;
2221
2222
2223 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2224
2225
2226
2227 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2228 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
2229 p_burdened_cost_adjustment => l_period_amount,
2230 x_return_status => l_return_status);
2231
2232 END IF;
2233
2234 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2235
2236
2237
2238 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2239 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
2240 p_utilization_adjustment => l_period_amount,
2241 x_return_status => l_return_status);
2242
2243 END IF;
2244
2245 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2246
2247
2248
2249 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2250 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
2251 p_head_count_adjustment => l_period_amount,
2252 x_return_status => l_return_status);
2253
2254 END IF;
2255
2256
2257
2258
2259 exception
2260 WHEN NO_DATA_FOUND THEN
2261
2262 /*for task level res asg ID*/
2263
2264 /* for period 9*/
2265
2266
2267
2268 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2269
2270
2271
2272 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2273 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
2274 p_adj_element_id => l_adj_element_id_tl,
2275 p_project_id => l_project_id,
2276 p_task_id => l_task_id_tl,
2277 p_budget_version_id => l_budget_version_id,
2278 p_resource_assignment_id => l_ra_id_tl,
2279 p_period_name => l_period_name,
2280 p_start_date => l_start_date,
2281 p_end_date => l_end_date,
2282 p_revenue_adjustment => l_period_amount,
2283 x_row_id => l_row_id,
2284 x_return_status => l_return_status);
2285
2286 END IF;
2287
2288 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2289
2290
2291
2292 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2293 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
2294 p_adj_element_id => l_adj_element_id_tl,
2295 p_project_id => l_project_id,
2296 p_task_id => l_task_id_tl,
2297 p_budget_version_id => l_budget_version_id,
2298 p_resource_assignment_id => l_ra_id_tl,
2299 p_period_name => l_period_name,
2300 p_start_date => l_start_date,
2301 p_end_date => l_end_date,
2302 p_burdened_cost_adjustment => l_period_amount,
2303 x_row_id => l_row_id,
2304 x_return_status => l_return_status);
2305
2306 END IF;
2307
2308 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2309
2310
2311
2312 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2313 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
2314 p_adj_element_id => l_adj_element_id_tl,
2315 p_project_id => l_project_id,
2316 p_task_id => l_task_id_tl,
2317 p_budget_version_id => l_budget_version_id,
2318 p_resource_assignment_id => l_ra_id_tl,
2319 p_period_name => l_period_name,
2320 p_start_date => l_start_date,
2321 p_end_date => l_end_date,
2322 p_utilization_adjustment => l_period_amount,
2323 x_row_id => l_row_id,
2324 x_return_status => l_return_status);
2325
2326 END IF;
2327
2328 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2329
2330
2331
2332 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2333 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
2334 p_adj_element_id => l_adj_element_id_tl,
2335 p_project_id => l_project_id,
2336 p_task_id => l_task_id_tl,
2337 p_budget_version_id => l_budget_version_id,
2338 p_resource_assignment_id => l_ra_id_tl,
2339 p_period_name => l_period_name,
2340 p_start_date => l_start_date,
2341 p_end_date => l_end_date,
2342 p_head_count_adjustment => l_period_amount,
2343 x_row_id => l_row_id,
2344 x_return_status => l_return_status);
2345
2346 END IF;
2347
2348
2349
2350 END;
2351 /*end begin for period 9*/
2352 end if;
2353
2354
2355 /*for period 10*/
2356 if l_period_name10 is not null then
2357 begin
2358
2359 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE10;
2360 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE10;
2361 l_period_amount := p_period10;
2362 l_period_name := l_period_name10;
2363
2364 select FIN_PLAN_ADJ_LINE_ID
2365 into l_fin_plan_adj_line_id10
2366 from pa_fin_plan_adj_lines
2367 where budget_version_id = l_budget_version_id
2368 and period_name=l_period_name
2369 and resource_assignment_id = l_ra_id_tl
2370 and adj_element_id = l_adj_element_id_tl;
2371
2372
2373 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2374
2375
2376
2377 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2378 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
2379 p_revenue_adjustment => l_period_amount,
2380 x_return_status => l_return_status);
2381
2382 END IF;
2383
2384
2385 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2386
2387
2388
2389 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2390 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
2391 p_burdened_cost_adjustment => l_period_amount,
2392 x_return_status => l_return_status);
2393
2394 END IF;
2395
2396 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2397
2398
2399
2400 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2401 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
2402 p_utilization_adjustment => l_period_amount,
2403 x_return_status => l_return_status);
2404
2405 END IF;
2406
2407 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2408
2409
2410
2411 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2412 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
2413 p_head_count_adjustment => l_period_amount,
2414 x_return_status => l_return_status);
2415
2416 END IF;
2417
2418
2419
2420
2421 exception
2422 WHEN NO_DATA_FOUND THEN
2423
2424 /*for task level res asg ID*/
2425
2426 /* for period 10*/
2427
2428
2429
2430 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2431
2432
2433
2434 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2435 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
2436 p_adj_element_id => l_adj_element_id_tl,
2437 p_project_id => l_project_id,
2438 p_task_id => l_task_id_tl,
2439 p_budget_version_id => l_budget_version_id,
2440 p_resource_assignment_id => l_ra_id_tl,
2441 p_period_name => l_period_name,
2442 p_start_date => l_start_date,
2443 p_end_date => l_end_date,
2444 p_revenue_adjustment => l_period_amount,
2445 x_row_id => l_row_id,
2446 x_return_status => l_return_status);
2447
2448 END IF;
2449
2450 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2451
2452
2453
2454 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2455 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
2456 p_adj_element_id => l_adj_element_id_tl,
2457 p_project_id => l_project_id,
2458 p_task_id => l_task_id_tl,
2459 p_budget_version_id => l_budget_version_id,
2460 p_resource_assignment_id => l_ra_id_tl,
2461 p_period_name => l_period_name,
2462 p_start_date => l_start_date,
2463 p_end_date => l_end_date,
2464 p_burdened_cost_adjustment => l_period_amount,
2465 x_row_id => l_row_id,
2466 x_return_status => l_return_status);
2467
2468 END IF;
2469
2470 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2471
2472
2473
2474 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2475 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
2476 p_adj_element_id => l_adj_element_id_tl,
2477 p_project_id => l_project_id,
2478 p_task_id => l_task_id_tl,
2479 p_budget_version_id => l_budget_version_id,
2480 p_resource_assignment_id => l_ra_id_tl,
2481 p_period_name => l_period_name,
2482 p_start_date => l_start_date,
2483 p_end_date => l_end_date,
2484 p_utilization_adjustment => l_period_amount,
2485 x_row_id => l_row_id,
2486 x_return_status => l_return_status);
2487
2488 END IF;
2489
2490 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2491
2492
2493
2494 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2495 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
2496 p_adj_element_id => l_adj_element_id_tl,
2497 p_project_id => l_project_id,
2498 p_task_id => l_task_id_tl,
2499 p_budget_version_id => l_budget_version_id,
2500 p_resource_assignment_id => l_ra_id_tl,
2501 p_period_name => l_period_name,
2502 p_start_date => l_start_date,
2503 p_end_date => l_end_date,
2504 p_head_count_adjustment => l_period_amount,
2505 x_row_id => l_row_id,
2506 x_return_status => l_return_status);
2507
2508 END IF;
2509
2510
2511
2512 END;
2513 /*end begin for period 10*/
2514 end if;
2515
2516
2517 /*for period 11*/
2518 if l_period_name11 is not null then
2519 begin
2520
2521 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE11;
2522 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE11;
2523 l_period_amount := p_period11;
2524 l_period_name := l_period_name11;
2525
2526 select FIN_PLAN_ADJ_LINE_ID
2527 into l_fin_plan_adj_line_id11
2528 from pa_fin_plan_adj_lines
2529 where budget_version_id = l_budget_version_id
2530 and period_name=l_period_name
2531 and resource_assignment_id = l_ra_id_tl
2532 and adj_element_id = l_adj_element_id_tl;
2533
2534
2535 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2536
2537
2538
2539 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2540 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
2541 p_revenue_adjustment => l_period_amount,
2542 x_return_status => l_return_status);
2543
2544 END IF;
2545
2546
2547 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2548
2549
2550
2551 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2552 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
2553 p_burdened_cost_adjustment => l_period_amount,
2554 x_return_status => l_return_status);
2555
2556 END IF;
2557
2558 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2559
2560
2561
2562 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2563 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
2564 p_utilization_adjustment => l_period_amount,
2565 x_return_status => l_return_status);
2566
2567 END IF;
2568
2569 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2570
2571
2572
2573 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2574 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
2575 p_head_count_adjustment => l_period_amount,
2576 x_return_status => l_return_status);
2577
2578 END IF;
2579
2580
2581 exception
2582 WHEN NO_DATA_FOUND THEN
2583
2584 /*for task level res asg ID*/
2585
2586 /* for period 11*/
2587
2588
2589
2590 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2591
2592
2593
2594 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2595 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
2596 p_adj_element_id => l_adj_element_id_tl,
2597 p_project_id => l_project_id,
2598 p_task_id => l_task_id_tl,
2599 p_budget_version_id => l_budget_version_id,
2600 p_resource_assignment_id => l_ra_id_tl,
2601 p_period_name => l_period_name,
2602 p_start_date => l_start_date,
2603 p_end_date => l_end_date,
2604 p_revenue_adjustment => l_period_amount,
2605 x_row_id => l_row_id,
2606 x_return_status => l_return_status);
2607
2608 END IF;
2609
2610 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2611
2612
2613
2614 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2615 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
2616 p_adj_element_id => l_adj_element_id_tl,
2617 p_project_id => l_project_id,
2618 p_task_id => l_task_id_tl,
2619 p_budget_version_id => l_budget_version_id,
2620 p_resource_assignment_id => l_ra_id_tl,
2621 p_period_name => l_period_name,
2622 p_start_date => l_start_date,
2623 p_end_date => l_end_date,
2624 p_burdened_cost_adjustment => l_period_amount,
2625 x_row_id => l_row_id,
2626 x_return_status => l_return_status);
2627
2628 END IF;
2629
2630 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2631
2632
2633
2634 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2635 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
2636 p_adj_element_id => l_adj_element_id_tl,
2637 p_project_id => l_project_id,
2638 p_task_id => l_task_id_tl,
2639 p_budget_version_id => l_budget_version_id,
2640 p_resource_assignment_id => l_ra_id_tl,
2641 p_period_name => l_period_name,
2642 p_start_date => l_start_date,
2643 p_end_date => l_end_date,
2644 p_utilization_adjustment => l_period_amount,
2645 x_row_id => l_row_id,
2646 x_return_status => l_return_status);
2647
2648 END IF;
2649
2650 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2651
2652
2653
2654 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2655 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
2656 p_adj_element_id => l_adj_element_id_tl,
2657 p_project_id => l_project_id,
2658 p_task_id => l_task_id_tl,
2659 p_budget_version_id => l_budget_version_id,
2660 p_resource_assignment_id => l_ra_id_tl,
2661 p_period_name => l_period_name,
2662 p_start_date => l_start_date,
2663 p_end_date => l_end_date,
2664 p_head_count_adjustment => l_period_amount,
2665 x_row_id => l_row_id,
2666 x_return_status => l_return_status);
2667
2668 END IF;
2669
2670
2671
2672 END;
2673 /*end begin for period 11*/
2674 end if;
2675
2676 /*for period 12*/
2677 if l_period_name12 is not null then
2678 begin
2679
2680 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE12;
2681 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE12;
2682 l_period_amount := p_period12;
2683 l_period_name := l_period_name12;
2684
2685 select FIN_PLAN_ADJ_LINE_ID
2686 into l_fin_plan_adj_line_id12
2687 from pa_fin_plan_adj_lines
2688 where budget_version_id = l_budget_version_id
2689 and period_name=l_period_name
2690 and resource_assignment_id = l_ra_id_tl
2691 and adj_element_id = l_adj_element_id_tl;
2692
2693
2694 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2695
2696
2697
2698 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2699 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
2700 p_revenue_adjustment => l_period_amount,
2701 x_return_status => l_return_status);
2702
2703 END IF;
2704
2705
2706 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2707
2708
2709
2710 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2711 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
2712 p_burdened_cost_adjustment => l_period_amount,
2713 x_return_status => l_return_status);
2714
2715 END IF;
2716
2717 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2718
2719
2720
2721 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2722 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
2723 p_utilization_adjustment => l_period_amount,
2724 x_return_status => l_return_status);
2725
2726 END IF;
2727
2728 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2729
2730
2731
2732 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2733 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
2734 p_head_count_adjustment => l_period_amount,
2735 x_return_status => l_return_status);
2736
2737 END IF;
2738
2739
2740
2741
2742 exception
2743 WHEN NO_DATA_FOUND THEN
2744
2745 /*for task level res asg ID*/
2746
2747 /* for period 12*/
2748
2749
2750
2751 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2752
2753
2754
2755 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2756 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
2757 p_adj_element_id => l_adj_element_id_tl,
2758 p_project_id => l_project_id,
2759 p_task_id => l_task_id_tl,
2760 p_budget_version_id => l_budget_version_id,
2761 p_resource_assignment_id => l_ra_id_tl,
2762 p_period_name => l_period_name,
2763 p_start_date => l_start_date,
2764 p_end_date => l_end_date,
2765 p_revenue_adjustment => l_period_amount,
2766 x_row_id => l_row_id,
2767 x_return_status => l_return_status);
2768
2769 END IF;
2770
2771 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2772
2773
2774
2775 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2776 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
2777 p_adj_element_id => l_adj_element_id_tl,
2778 p_project_id => l_project_id,
2779 p_task_id => l_task_id_tl,
2780 p_budget_version_id => l_budget_version_id,
2781 p_resource_assignment_id => l_ra_id_tl,
2782 p_period_name => l_period_name,
2783 p_start_date => l_start_date,
2784 p_end_date => l_end_date,
2785 p_burdened_cost_adjustment => l_period_amount,
2786 x_row_id => l_row_id,
2787 x_return_status => l_return_status);
2788
2789 END IF;
2790
2791 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2792
2793
2794
2795 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2796 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
2797 p_adj_element_id => l_adj_element_id_tl,
2798 p_project_id => l_project_id,
2799 p_task_id => l_task_id_tl,
2800 p_budget_version_id => l_budget_version_id,
2801 p_resource_assignment_id => l_ra_id_tl,
2802 p_period_name => l_period_name,
2803 p_start_date => l_start_date,
2804 p_end_date => l_end_date,
2805 p_utilization_adjustment => l_period_amount,
2806 x_row_id => l_row_id,
2807 x_return_status => l_return_status);
2808
2809 END IF;
2810
2811 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2812
2813
2814
2815 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2816 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
2817 p_adj_element_id => l_adj_element_id_tl,
2818 p_project_id => l_project_id,
2819 p_task_id => l_task_id_tl,
2820 p_budget_version_id => l_budget_version_id,
2821 p_resource_assignment_id => l_ra_id_tl,
2822 p_period_name => l_period_name,
2823 p_start_date => l_start_date,
2824 p_end_date => l_end_date,
2825 p_head_count_adjustment => l_period_amount,
2826 x_row_id => l_row_id,
2827 x_return_status => l_return_status);
2828
2829 END IF;
2830
2831
2832
2833 END;
2834 /*end begin for period 12*/
2835 end if;
2836
2837 /*for period 13*/
2838 if l_period_name13 is not null then
2839 begin
2840
2841 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE13;
2842 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE13;
2843 l_period_amount := p_period13;
2844 l_period_name := l_period_name13;
2845
2846 select FIN_PLAN_ADJ_LINE_ID
2847 into l_fin_plan_adj_line_id13
2848 from pa_fin_plan_adj_lines
2849 where budget_version_id = l_budget_version_id
2850 and period_name=l_period_name
2851 and resource_assignment_id = l_ra_id_tl
2852 and adj_element_id = l_adj_element_id_tl;
2853
2854
2855 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2856
2857
2858
2859 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2860 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
2861 p_revenue_adjustment => l_period_amount,
2862 x_return_status => l_return_status);
2863
2864 END IF;
2865
2866
2867 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2868
2869
2870
2871 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2872 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
2873 p_burdened_cost_adjustment => l_period_amount,
2874 x_return_status => l_return_status);
2875
2876 END IF;
2877
2878 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2879
2880
2881
2882 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2883 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
2884 p_utilization_adjustment => l_period_amount,
2885 x_return_status => l_return_status);
2886
2887 END IF;
2888
2889 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2890
2891
2892
2893 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2894 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
2895 p_head_count_adjustment => l_period_amount,
2896 x_return_status => l_return_status);
2897
2898 END IF;
2899
2900
2901
2902
2903 exception
2904 WHEN NO_DATA_FOUND THEN
2905
2906 /*for task level res asg ID*/
2907
2908 /* for period 13*/
2909
2910
2911
2912 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
2913
2914
2915
2916 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2917 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
2918 p_adj_element_id => l_adj_element_id_tl,
2919 p_project_id => l_project_id,
2920 p_task_id => l_task_id_tl,
2921 p_budget_version_id => l_budget_version_id,
2922 p_resource_assignment_id => l_ra_id_tl,
2923 p_period_name => l_period_name,
2924 p_start_date => l_start_date,
2925 p_end_date => l_end_date,
2926 p_revenue_adjustment => l_period_amount,
2927 x_row_id => l_row_id,
2928 x_return_status => l_return_status);
2929
2930 END IF;
2931
2932 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
2933
2934
2935
2936 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2937 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
2938 p_adj_element_id => l_adj_element_id_tl,
2939 p_project_id => l_project_id,
2940 p_task_id => l_task_id_tl,
2941 p_budget_version_id => l_budget_version_id,
2942 p_resource_assignment_id => l_ra_id_tl,
2943 p_period_name => l_period_name,
2944 p_start_date => l_start_date,
2945 p_end_date => l_end_date,
2946 p_burdened_cost_adjustment => l_period_amount,
2947 x_row_id => l_row_id,
2948 x_return_status => l_return_status);
2949
2950 END IF;
2951
2952 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
2953
2954
2955
2956 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2957 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
2958 p_adj_element_id => l_adj_element_id_tl,
2959 p_project_id => l_project_id,
2960 p_task_id => l_task_id_tl,
2961 p_budget_version_id => l_budget_version_id,
2962 p_resource_assignment_id => l_ra_id_tl,
2963 p_period_name => l_period_name,
2964 p_start_date => l_start_date,
2965 p_end_date => l_end_date,
2966 p_utilization_adjustment => l_period_amount,
2967 x_row_id => l_row_id,
2968 x_return_status => l_return_status);
2969
2970 END IF;
2971
2972 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
2973
2974
2975
2976 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
2977 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
2978 p_adj_element_id => l_adj_element_id_tl,
2979 p_project_id => l_project_id,
2980 p_task_id => l_task_id_tl,
2981 p_budget_version_id => l_budget_version_id,
2982 p_resource_assignment_id => l_ra_id_tl,
2983 p_period_name => l_period_name,
2984 p_start_date => l_start_date,
2985 p_end_date => l_end_date,
2986 p_head_count_adjustment => l_period_amount,
2987 x_row_id => l_row_id,
2988 x_return_status => l_return_status);
2989
2990 END IF;
2991
2992
2993
2994 END;
2995 /*end begin for period 13*/
2996
2997 end if;
2998
2999 END IF;
3000 /* END IF PA*/
3001
3002
3003
3004
3005
3006
3007 /*For Project Level Res Asg Id*/
3008
3009 /*refresh the local variables*/
3010 l_fin_plan_adj_line_id1 := null;
3011 l_fin_plan_adj_line_id2 := null;
3012 l_fin_plan_adj_line_id3 := null;
3013 l_fin_plan_adj_line_id4 := null;
3014 l_fin_plan_adj_line_id5 := null;
3015 l_fin_plan_adj_line_id6 := null;
3016 l_fin_plan_adj_line_id7 := null;
3017 l_fin_plan_adj_line_id8 := null;
3018 l_fin_plan_adj_line_id9 := null;
3019 l_fin_plan_adj_line_id10 := null;
3020 l_fin_plan_adj_line_id11 := null;
3021 l_fin_plan_adj_line_id12 := null;
3022 l_fin_plan_adj_line_id13 := null;
3023
3024
3025
3026 /*for period 1*/
3027
3028 if l_period_name1 is not null then
3029 begin
3030
3031 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE1;
3032 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE1;
3033 l_period_amount := p_period1;
3034 l_period_name := l_period_name1;
3035
3036 select FIN_PLAN_ADJ_LINE_ID
3037 into l_fin_plan_adj_line_id1
3038 from pa_fin_plan_adj_lines
3039 where budget_version_id = l_budget_version_id
3040 and period_name=l_period_name
3041 and resource_assignment_id = l_ra_id_pl
3042 and adj_element_id = l_adj_element_id_pl;
3043
3044
3045 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3046
3047
3048
3049 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3050 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
3051 p_revenue_adjustment => l_period_amount,
3052 x_return_status => l_return_status);
3053
3054 END IF;
3055
3056
3057 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3058
3059
3060
3061 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3062 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
3063 p_burdened_cost_adjustment => l_period_amount,
3064 x_return_status => l_return_status);
3065
3066 END IF;
3067
3068 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3069
3070
3071
3072 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3073 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
3074 p_utilization_adjustment => l_period_amount,
3075 x_return_status => l_return_status);
3076
3077 END IF;
3078
3079 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3080
3081
3082
3083 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3084 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
3085 p_head_count_adjustment => l_period_amount,
3086 x_return_status => l_return_status);
3087
3088 END IF;
3089
3090
3091
3092
3093 exception
3094 WHEN NO_DATA_FOUND THEN
3095
3096
3097 /* for period 1*/
3098
3099
3100
3101 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3102
3103
3104
3105 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3106 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
3107 p_adj_element_id => l_adj_element_id_pl,
3108 p_project_id => l_project_id,
3109 p_task_id => l_task_id_pl,
3110 p_budget_version_id => l_budget_version_id,
3111 p_resource_assignment_id => l_ra_id_pl,
3112 p_period_name => l_period_name,
3113 p_start_date => l_start_date,
3114 p_end_date => l_end_date,
3115 p_revenue_adjustment => l_period_amount,
3116 x_row_id => l_row_id,
3117 x_return_status => l_return_status);
3118
3119 END IF;
3120
3121 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3122
3123
3124
3125 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3126 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
3127 p_adj_element_id => l_adj_element_id_pl,
3128 p_project_id => l_project_id,
3129 p_task_id => l_task_id_pl,
3130 p_budget_version_id => l_budget_version_id,
3131 p_resource_assignment_id => l_ra_id_pl,
3132 p_period_name => l_period_name,
3133 p_start_date => l_start_date,
3134 p_end_date => l_end_date,
3135 p_burdened_cost_adjustment => l_period_amount,
3136 x_row_id => l_row_id,
3137 x_return_status => l_return_status);
3138
3139 END IF;
3140
3141 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3142
3143
3144
3145 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3146 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
3147 p_adj_element_id => l_adj_element_id_pl,
3148 p_project_id => l_project_id,
3149 p_task_id => l_task_id_pl,
3150 p_budget_version_id => l_budget_version_id,
3151 p_resource_assignment_id => l_ra_id_pl,
3152 p_period_name => l_period_name,
3153 p_start_date => l_start_date,
3154 p_end_date => l_end_date,
3155 p_utilization_adjustment => l_period_amount,
3156 x_row_id => l_row_id,
3157 x_return_status => l_return_status);
3158
3159 END IF;
3160
3161 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3162
3163
3164
3165 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3166 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id1,
3167 p_adj_element_id => l_adj_element_id_pl,
3168 p_project_id => l_project_id,
3169 p_task_id => l_task_id_pl,
3170 p_budget_version_id => l_budget_version_id,
3171 p_resource_assignment_id => l_ra_id_pl,
3172 p_period_name => l_period_name,
3173 p_start_date => l_start_date,
3174 p_end_date => l_end_date,
3175 p_head_count_adjustment => l_period_amount,
3176 x_row_id => l_row_id,
3177 x_return_status => l_return_status);
3178
3179 END IF;
3180
3181
3182
3183 END;
3184 /*end begin for period 1*/
3185 end if;
3186
3187 /*for period 2*/
3188 if l_period_name2 is not null then
3189 begin
3190
3191 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE2;
3192 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE2;
3193 l_period_amount := p_period2;
3194 l_period_name := l_period_name2;
3195
3196 select FIN_PLAN_ADJ_LINE_ID
3197 into l_fin_plan_adj_line_id2
3198 from pa_fin_plan_adj_lines
3199 where budget_version_id = l_budget_version_id
3200 and period_name=l_period_name
3201 and resource_assignment_id = l_ra_id_pl
3202 and adj_element_id = l_adj_element_id_pl;
3203
3204
3205 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3206
3207
3208
3209 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3210 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
3211 p_revenue_adjustment => l_period_amount,
3212 x_return_status => l_return_status);
3213
3214 END IF;
3215
3216
3217 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3218
3219
3220
3221 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3222 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
3223 p_burdened_cost_adjustment => l_period_amount,
3224 x_return_status => l_return_status);
3225
3226 END IF;
3227
3228 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3229
3230
3231
3232 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3233 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
3234 p_utilization_adjustment => l_period_amount,
3235 x_return_status => l_return_status);
3236
3237 END IF;
3238
3239 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3240
3241
3242 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3243 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
3244 p_head_count_adjustment => l_period_amount,
3245 x_return_status => l_return_status);
3246
3247 END IF;
3248
3249
3250 exception
3251 WHEN NO_DATA_FOUND THEN
3252
3253
3254 /* for period 1*/
3255
3256
3257
3258 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3259
3260
3261
3262 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3263 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
3264 p_adj_element_id => l_adj_element_id_pl,
3265 p_project_id => l_project_id,
3266 p_task_id => l_task_id_pl,
3267 p_budget_version_id => l_budget_version_id,
3268 p_resource_assignment_id => l_ra_id_pl,
3269 p_period_name => l_period_name,
3270 p_start_date => l_start_date,
3271 p_end_date => l_end_date,
3272 p_revenue_adjustment => l_period_amount,
3273 x_row_id => l_row_id,
3274 x_return_status => l_return_status);
3275
3276 END IF;
3277
3278 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3279
3280
3281
3282 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3283 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
3284 p_adj_element_id => l_adj_element_id_pl,
3285 p_project_id => l_project_id,
3286 p_task_id => l_task_id_pl,
3287 p_budget_version_id => l_budget_version_id,
3288 p_resource_assignment_id => l_ra_id_pl,
3289 p_period_name => l_period_name,
3290 p_start_date => l_start_date,
3291 p_end_date => l_end_date,
3292 p_burdened_cost_adjustment => l_period_amount,
3293 x_row_id => l_row_id,
3294 x_return_status => l_return_status);
3295
3296 END IF;
3297
3298 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3299
3300
3301
3302 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3303 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
3304 p_adj_element_id => l_adj_element_id_pl,
3305 p_project_id => l_project_id,
3306 p_task_id => l_task_id_pl,
3307 p_budget_version_id => l_budget_version_id,
3308 p_resource_assignment_id => l_ra_id_pl,
3309 p_period_name => l_period_name,
3310 p_start_date => l_start_date,
3311 p_end_date => l_end_date,
3312 p_utilization_adjustment => l_period_amount,
3313 x_row_id => l_row_id,
3314 x_return_status => l_return_status);
3315
3316 END IF;
3317
3318 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3319
3320
3321
3322 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3323 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id2,
3324 p_adj_element_id => l_adj_element_id_pl,
3325 p_project_id => l_project_id,
3326 p_task_id => l_task_id_pl,
3327 p_budget_version_id => l_budget_version_id,
3328 p_resource_assignment_id => l_ra_id_pl,
3329 p_period_name => l_period_name,
3330 p_start_date => l_start_date,
3331 p_end_date => l_end_date,
3332 p_head_count_adjustment => l_period_amount,
3333 x_row_id => l_row_id,
3334 x_return_status => l_return_status);
3335
3336 END IF;
3337
3338
3339
3340 END;
3341 /*end begin for period 2*/
3342 end if;
3343
3344 /*for period 3*/
3345 if l_period_name3 is not null then
3346 begin
3347
3348 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE3;
3349 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE3;
3350 l_period_amount := p_period3;
3351 l_period_name := l_period_name3;
3352
3353 select FIN_PLAN_ADJ_LINE_ID
3354 into l_fin_plan_adj_line_id3
3355 from pa_fin_plan_adj_lines
3356 where budget_version_id = l_budget_version_id
3357 and period_name=l_period_name
3358 and resource_assignment_id = l_ra_id_pl
3359 and adj_element_id = l_adj_element_id_pl;
3360
3361
3362 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3363
3364
3365
3366 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3367 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
3368 p_revenue_adjustment => l_period_amount,
3369 x_return_status => l_return_status);
3370
3371 END IF;
3372
3373
3374 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3375
3376
3377
3378 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3379 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
3380 p_burdened_cost_adjustment => l_period_amount,
3381 x_return_status => l_return_status);
3382
3383 END IF;
3384
3385 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3386
3387
3388
3389 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3390 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
3391 p_utilization_adjustment => l_period_amount,
3392 x_return_status => l_return_status);
3393
3394 END IF;
3395
3396 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3397
3398
3399
3400 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3401 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
3402 p_head_count_adjustment => l_period_amount,
3403 x_return_status => l_return_status);
3404
3405 END IF;
3406
3407
3408
3409
3410 exception
3411 WHEN NO_DATA_FOUND THEN
3412
3413
3414 /* for period 3*/
3415
3416
3417
3418 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3419
3420
3421
3422 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3423 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
3424 p_adj_element_id => l_adj_element_id_pl,
3425 p_project_id => l_project_id,
3426 p_task_id => l_task_id_pl,
3427 p_budget_version_id => l_budget_version_id,
3428 p_resource_assignment_id => l_ra_id_pl,
3429 p_period_name => l_period_name,
3430 p_start_date => l_start_date,
3431 p_end_date => l_end_date,
3432 p_revenue_adjustment => l_period_amount,
3433 x_row_id => l_row_id,
3434 x_return_status => l_return_status);
3435
3436 END IF;
3437
3438 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3439
3440
3441
3442 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3443 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
3444 p_adj_element_id => l_adj_element_id_pl,
3445 p_project_id => l_project_id,
3446 p_task_id => l_task_id_pl,
3447 p_budget_version_id => l_budget_version_id,
3448 p_resource_assignment_id => l_ra_id_pl,
3449 p_period_name => l_period_name,
3450 p_start_date => l_start_date,
3451 p_end_date => l_end_date,
3452 p_burdened_cost_adjustment => l_period_amount,
3453 x_row_id => l_row_id,
3454 x_return_status => l_return_status);
3455
3456 END IF;
3457
3458 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3459
3460
3461
3462 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3463 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
3464 p_adj_element_id => l_adj_element_id_pl,
3465 p_project_id => l_project_id,
3466 p_task_id => l_task_id_pl,
3467 p_budget_version_id => l_budget_version_id,
3468 p_resource_assignment_id => l_ra_id_pl,
3469 p_period_name => l_period_name,
3470 p_start_date => l_start_date,
3471 p_end_date => l_end_date,
3472 p_utilization_adjustment => l_period_amount,
3473 x_row_id => l_row_id,
3474 x_return_status => l_return_status);
3475
3476 END IF;
3477
3478 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3479
3480
3481
3482 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3483 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id3,
3484 p_adj_element_id => l_adj_element_id_pl,
3485 p_project_id => l_project_id,
3486 p_task_id => l_task_id_pl,
3487 p_budget_version_id => l_budget_version_id,
3488 p_resource_assignment_id => l_ra_id_pl,
3489 p_period_name => l_period_name,
3490 p_start_date => l_start_date,
3491 p_end_date => l_end_date,
3492 p_head_count_adjustment => l_period_amount,
3493 x_row_id => l_row_id,
3494 x_return_status => l_return_status);
3495
3496 END IF;
3497
3498
3499
3500 END;
3501 /*end begin for period 3*/
3502 end if;
3503
3504
3505 /*for period 4*/
3506 if l_period_name4 is not null then
3507 begin
3508
3509 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE4;
3510 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE4;
3511 l_period_amount := p_period4;
3512 l_period_name := l_period_name4;
3513
3514 select FIN_PLAN_ADJ_LINE_ID
3515 into l_fin_plan_adj_line_id4
3516 from pa_fin_plan_adj_lines
3517 where budget_version_id = l_budget_version_id
3518 and period_name=l_period_name
3519 and resource_assignment_id = l_ra_id_pl
3520 and adj_element_id = l_adj_element_id_pl;
3521
3522
3523 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3524
3525
3526
3527 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3528 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
3529 p_revenue_adjustment => l_period_amount,
3530 x_return_status => l_return_status);
3531
3532 END IF;
3533
3534
3535 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3536
3537
3538
3539 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3540 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
3541 p_burdened_cost_adjustment => l_period_amount,
3542 x_return_status => l_return_status);
3543
3544 END IF;
3545
3546 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3547
3548
3549
3550 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3551 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
3552 p_utilization_adjustment => l_period_amount,
3553 x_return_status => l_return_status);
3554
3555 END IF;
3556
3557 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3558
3559
3560
3561 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3562 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
3563 p_head_count_adjustment => l_period_amount,
3564 x_return_status => l_return_status);
3565
3566 END IF;
3567
3568
3569
3570
3571 exception
3572 WHEN NO_DATA_FOUND THEN
3573
3574
3575 /* for period 4*/
3576
3577
3578
3579 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3580
3581
3582
3583 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3584 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
3585 p_adj_element_id => l_adj_element_id_pl,
3586 p_project_id => l_project_id,
3587 p_task_id => l_task_id_pl,
3588 p_budget_version_id => l_budget_version_id,
3589 p_resource_assignment_id => l_ra_id_pl,
3590 p_period_name => l_period_name,
3591 p_start_date => l_start_date,
3592 p_end_date => l_end_date,
3593 p_revenue_adjustment => l_period_amount,
3594 x_row_id => l_row_id,
3595 x_return_status => l_return_status);
3596
3597 END IF;
3598
3599 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3600
3601
3602
3603 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3604 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
3605 p_adj_element_id => l_adj_element_id_pl,
3606 p_project_id => l_project_id,
3607 p_task_id => l_task_id_pl,
3608 p_budget_version_id => l_budget_version_id,
3609 p_resource_assignment_id => l_ra_id_pl,
3610 p_period_name => l_period_name,
3611 p_start_date => l_start_date,
3612 p_end_date => l_end_date,
3613 p_burdened_cost_adjustment => l_period_amount,
3614 x_row_id => l_row_id,
3615 x_return_status => l_return_status);
3616
3617 END IF;
3618
3619 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3620
3621
3622
3623 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3624 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
3625 p_adj_element_id => l_adj_element_id_pl,
3626 p_project_id => l_project_id,
3627 p_task_id => l_task_id_pl,
3628 p_budget_version_id => l_budget_version_id,
3629 p_resource_assignment_id => l_ra_id_pl,
3630 p_period_name => l_period_name,
3631 p_start_date => l_start_date,
3632 p_end_date => l_end_date,
3633 p_utilization_adjustment => l_period_amount,
3634 x_row_id => l_row_id,
3635 x_return_status => l_return_status);
3636
3637 END IF;
3638
3639 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3640
3641
3642
3643 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3644 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id4,
3645 p_adj_element_id => l_adj_element_id_pl,
3646 p_project_id => l_project_id,
3647 p_task_id => l_task_id_pl,
3648 p_budget_version_id => l_budget_version_id,
3649 p_resource_assignment_id => l_ra_id_pl,
3650 p_period_name => l_period_name,
3651 p_start_date => l_start_date,
3652 p_end_date => l_end_date,
3653 p_head_count_adjustment => l_period_amount,
3654 x_row_id => l_row_id,
3655 x_return_status => l_return_status);
3656
3657 END IF;
3658
3659
3660
3661 END;
3662
3663 end if;
3664 /*end begin for period 4*/
3665
3666
3667 /*for period 5*/
3668 if l_period_name5 is not null then
3669 begin
3670
3671 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE5;
3672 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE5;
3673 l_period_amount := p_period5;
3674 l_period_name := l_period_name5;
3675
3676 select FIN_PLAN_ADJ_LINE_ID
3677 into l_fin_plan_adj_line_id5
3678 from pa_fin_plan_adj_lines
3679 where budget_version_id = l_budget_version_id
3680 and period_name=l_period_name
3681 and resource_assignment_id = l_ra_id_pl
3682 and adj_element_id = l_adj_element_id_pl;
3683
3684
3685 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3686
3687
3688
3689 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3690 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
3691 p_revenue_adjustment => l_period_amount,
3692 x_return_status => l_return_status);
3693
3694 END IF;
3695
3696
3697 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3698
3699
3700
3701 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3702 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
3703 p_burdened_cost_adjustment => l_period_amount,
3704 x_return_status => l_return_status);
3705
3706 END IF;
3707
3708 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3709
3710
3711
3712 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3713 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
3714 p_utilization_adjustment => l_period_amount,
3715 x_return_status => l_return_status);
3716
3717 END IF;
3718
3719 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3720
3721
3722
3723 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3724 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
3725 p_head_count_adjustment => l_period_amount,
3726 x_return_status => l_return_status);
3727
3728 END IF;
3729
3730
3731 exception
3732 WHEN NO_DATA_FOUND THEN
3733
3734
3735 /* for period 5*/
3736
3737
3738
3739 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3740
3741
3742
3743 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3744 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
3745 p_adj_element_id => l_adj_element_id_pl,
3746 p_project_id => l_project_id,
3747 p_task_id => l_task_id_pl,
3748 p_budget_version_id => l_budget_version_id,
3749 p_resource_assignment_id => l_ra_id_pl,
3750 p_period_name => l_period_name,
3751 p_start_date => l_start_date,
3752 p_end_date => l_end_date,
3753 p_revenue_adjustment => l_period_amount,
3754 x_row_id => l_row_id,
3755 x_return_status => l_return_status);
3756
3757 END IF;
3758
3759 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3760
3761
3762
3763 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3764 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
3765 p_adj_element_id => l_adj_element_id_pl,
3766 p_project_id => l_project_id,
3767 p_task_id => l_task_id_pl,
3768 p_budget_version_id => l_budget_version_id,
3769 p_resource_assignment_id => l_ra_id_pl,
3770 p_period_name => l_period_name,
3771 p_start_date => l_start_date,
3772 p_end_date => l_end_date,
3773 p_burdened_cost_adjustment => l_period_amount,
3774 x_row_id => l_row_id,
3775 x_return_status => l_return_status);
3776
3777 END IF;
3778
3779 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3780
3781
3782
3783 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3784 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
3785 p_adj_element_id => l_adj_element_id_pl,
3786 p_project_id => l_project_id,
3787 p_task_id => l_task_id_pl,
3788 p_budget_version_id => l_budget_version_id,
3789 p_resource_assignment_id => l_ra_id_pl,
3790 p_period_name => l_period_name,
3791 p_start_date => l_start_date,
3792 p_end_date => l_end_date,
3793 p_utilization_adjustment => l_period_amount,
3794 x_row_id => l_row_id,
3795 x_return_status => l_return_status);
3796
3797 END IF;
3798
3799 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3800
3801
3802
3803 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3804 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id5,
3805 p_adj_element_id => l_adj_element_id_pl,
3806 p_project_id => l_project_id,
3807 p_task_id => l_task_id_pl,
3808 p_budget_version_id => l_budget_version_id,
3809 p_resource_assignment_id => l_ra_id_pl,
3810 p_period_name => l_period_name,
3811 p_start_date => l_start_date,
3812 p_end_date => l_end_date,
3813 p_head_count_adjustment => l_period_amount,
3814 x_row_id => l_row_id,
3815 x_return_status => l_return_status);
3816
3817 END IF;
3818
3819
3820
3821 END;
3822
3823 end if;
3824 /*end begin for period 5*/
3825
3826
3827 /*for period 6*/
3828 if l_period_name6 is not null then
3829 begin
3830
3831 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE6;
3832 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE6;
3833 l_period_amount := p_period6;
3834 l_period_name := l_period_name6;
3835
3836 select FIN_PLAN_ADJ_LINE_ID
3837 into l_fin_plan_adj_line_id6
3838 from pa_fin_plan_adj_lines
3839 where budget_version_id = l_budget_version_id
3840 and period_name=l_period_name
3841 and resource_assignment_id = l_ra_id_pl
3842 and adj_element_id = l_adj_element_id_pl;
3843
3844
3845 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3846
3847
3848
3849 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3850 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
3851 p_revenue_adjustment => l_period_amount,
3852 x_return_status => l_return_status);
3853
3854 END IF;
3855
3856
3857 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3858
3859
3860
3861 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3862 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
3863 p_burdened_cost_adjustment => l_period_amount,
3864 x_return_status => l_return_status);
3865
3866 END IF;
3867
3868 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3869
3870
3871
3872 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3873 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
3874 p_utilization_adjustment => l_period_amount,
3875 x_return_status => l_return_status);
3876
3877 END IF;
3878
3879 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3880
3881
3882
3883 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3884 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
3885 p_head_count_adjustment => l_period_amount,
3886 x_return_status => l_return_status);
3887
3888 END IF;
3889
3890
3891
3892
3893 exception
3894 WHEN NO_DATA_FOUND THEN
3895
3896
3897 /* for period 6*/
3898
3899
3900
3901 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
3902
3903
3904
3905 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3906 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
3907 p_adj_element_id => l_adj_element_id_pl,
3908 p_project_id => l_project_id,
3909 p_task_id => l_task_id_pl,
3910 p_budget_version_id => l_budget_version_id,
3911 p_resource_assignment_id => l_ra_id_pl,
3912 p_period_name => l_period_name,
3913 p_start_date => l_start_date,
3914 p_end_date => l_end_date,
3915 p_revenue_adjustment => l_period_amount,
3916 x_row_id => l_row_id,
3917 x_return_status => l_return_status);
3918
3919 END IF;
3920
3921 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
3922
3923
3924
3925 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3926 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
3927 p_adj_element_id => l_adj_element_id_pl,
3928 p_project_id => l_project_id,
3929 p_task_id => l_task_id_pl,
3930 p_budget_version_id => l_budget_version_id,
3931 p_resource_assignment_id => l_ra_id_pl,
3932 p_period_name => l_period_name,
3933 p_start_date => l_start_date,
3934 p_end_date => l_end_date,
3935 p_burdened_cost_adjustment => l_period_amount,
3936 x_row_id => l_row_id,
3937 x_return_status => l_return_status);
3938
3939 END IF;
3940
3941 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
3942
3943
3944
3945 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3946 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
3947 p_adj_element_id => l_adj_element_id_pl,
3948 p_project_id => l_project_id,
3949 p_task_id => l_task_id_pl,
3950 p_budget_version_id => l_budget_version_id,
3951 p_resource_assignment_id => l_ra_id_pl,
3952 p_period_name => l_period_name,
3953 p_start_date => l_start_date,
3954 p_end_date => l_end_date,
3955 p_utilization_adjustment => l_period_amount,
3956 x_row_id => l_row_id,
3957 x_return_status => l_return_status);
3958
3959 END IF;
3960
3961 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
3962
3963
3964
3965 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
3966 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id6,
3967 p_adj_element_id => l_adj_element_id_pl,
3968 p_project_id => l_project_id,
3969 p_task_id => l_task_id_pl,
3970 p_budget_version_id => l_budget_version_id,
3971 p_resource_assignment_id => l_ra_id_pl,
3972 p_period_name => l_period_name,
3973 p_start_date => l_start_date,
3974 p_end_date => l_end_date,
3975 p_head_count_adjustment => l_period_amount,
3976 x_row_id => l_row_id,
3977 x_return_status => l_return_status);
3978
3979 END IF;
3980
3981
3982
3983 END;
3984 /*end begin for period 6*/
3985 end if;
3986
3987 IF p_period_type = 'PA' THEN
3988
3989 /*for period 7*/
3990 if l_period_name7 is not null then
3991 begin
3992
3993 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE7;
3994 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE7;
3995 l_period_amount := p_period7;
3996 l_period_name := l_period_name7;
3997
3998 select FIN_PLAN_ADJ_LINE_ID
3999 into l_fin_plan_adj_line_id7
4000 from pa_fin_plan_adj_lines
4001 where budget_version_id = l_budget_version_id
4002 and period_name=l_period_name
4003 and resource_assignment_id = l_ra_id_pl
4004 and adj_element_id = l_adj_element_id_pl;
4005
4006
4007 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4008
4009
4010
4011 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4012 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
4013 p_revenue_adjustment => l_period_amount,
4014 x_return_status => l_return_status);
4015
4016 END IF;
4017
4018
4019 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4020
4021
4022
4023 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4024 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
4025 p_burdened_cost_adjustment => l_period_amount,
4026 x_return_status => l_return_status);
4027
4028 END IF;
4029
4030 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4031
4032
4033
4034 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4035 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
4036 p_utilization_adjustment => l_period_amount,
4037 x_return_status => l_return_status);
4038
4039 END IF;
4040
4041 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4042
4043
4044
4045 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4046 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
4047 p_head_count_adjustment => l_period_amount,
4048 x_return_status => l_return_status);
4049
4050 END IF;
4051
4052
4053
4054
4055 exception
4056 WHEN NO_DATA_FOUND THEN
4057
4058
4059 /* for period 7*/
4060
4061
4062
4063 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4064
4065
4066
4067 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4068 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
4069 p_adj_element_id => l_adj_element_id_pl,
4070 p_project_id => l_project_id,
4071 p_task_id => l_task_id_pl,
4072 p_budget_version_id => l_budget_version_id,
4073 p_resource_assignment_id => l_ra_id_pl,
4074 p_period_name => l_period_name,
4075 p_start_date => l_start_date,
4076 p_end_date => l_end_date,
4077 p_revenue_adjustment => l_period_amount,
4078 x_row_id => l_row_id,
4079 x_return_status => l_return_status);
4080
4081 END IF;
4082
4083 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4084
4085
4086
4087 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4088 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
4089 p_adj_element_id => l_adj_element_id_pl,
4090 p_project_id => l_project_id,
4091 p_task_id => l_task_id_pl,
4092 p_budget_version_id => l_budget_version_id,
4093 p_resource_assignment_id => l_ra_id_pl,
4094 p_period_name => l_period_name,
4095 p_start_date => l_start_date,
4096 p_end_date => l_end_date,
4097 p_burdened_cost_adjustment => l_period_amount,
4098 x_row_id => l_row_id,
4099 x_return_status => l_return_status);
4100
4101 END IF;
4102
4103 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4104
4105
4106
4107 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4108 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
4109 p_adj_element_id => l_adj_element_id_pl,
4110 p_project_id => l_project_id,
4111 p_task_id => l_task_id_pl,
4112 p_budget_version_id => l_budget_version_id,
4113 p_resource_assignment_id => l_ra_id_pl,
4114 p_period_name => l_period_name,
4115 p_start_date => l_start_date,
4116 p_end_date => l_end_date,
4117 p_utilization_adjustment => l_period_amount,
4118 x_row_id => l_row_id,
4119 x_return_status => l_return_status);
4120
4121 END IF;
4122
4123 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4124
4125
4126
4127 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4128 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id7,
4129 p_adj_element_id => l_adj_element_id_pl,
4130 p_project_id => l_project_id,
4131 p_task_id => l_task_id_pl,
4132 p_budget_version_id => l_budget_version_id,
4133 p_resource_assignment_id => l_ra_id_pl,
4134 p_period_name => l_period_name,
4135 p_start_date => l_start_date,
4136 p_end_date => l_end_date,
4137 p_head_count_adjustment => l_period_amount,
4138 x_row_id => l_row_id,
4139 x_return_status => l_return_status);
4140
4141 END IF;
4142
4143
4144
4145 END;
4146 /*end begin for period 7*/
4147 end if;
4148
4149 /*for period 8*/
4150 if l_period_name8 is not null then
4151 begin
4152
4153 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE8;
4154 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE8;
4155 l_period_amount := p_period8;
4156 l_period_name := l_period_name8;
4157
4158 select FIN_PLAN_ADJ_LINE_ID
4159 into l_fin_plan_adj_line_id8
4160 from pa_fin_plan_adj_lines
4161 where budget_version_id = l_budget_version_id
4162 and period_name=l_period_name
4163 and resource_assignment_id = l_ra_id_pl
4164 and adj_element_id = l_adj_element_id_pl;
4165
4166
4167 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4168
4169
4170
4171 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4172 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
4173 p_revenue_adjustment => l_period_amount,
4174 x_return_status => l_return_status);
4175
4176 END IF;
4177
4178
4179 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4180
4181
4182
4183 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4184 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
4185 p_burdened_cost_adjustment => l_period_amount,
4186 x_return_status => l_return_status);
4187
4188 END IF;
4189
4190 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4191
4192
4193
4194 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4195 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
4196 p_utilization_adjustment => l_period_amount,
4197 x_return_status => l_return_status);
4198
4199 END IF;
4200
4201 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4202
4203
4204 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4205 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
4206 p_head_count_adjustment => l_period_amount,
4207 x_return_status => l_return_status);
4208
4209 END IF;
4210
4211
4212 exception
4213 WHEN NO_DATA_FOUND THEN
4214
4215
4216 /* for period 8*/
4217
4218
4219
4220 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4221
4222
4223
4224 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4225 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
4226 p_adj_element_id => l_adj_element_id_pl,
4227 p_project_id => l_project_id,
4228 p_task_id => l_task_id_pl,
4229 p_budget_version_id => l_budget_version_id,
4230 p_resource_assignment_id => l_ra_id_pl,
4231 p_period_name => l_period_name,
4232 p_start_date => l_start_date,
4233 p_end_date => l_end_date,
4234 p_revenue_adjustment => l_period_amount,
4235 x_row_id => l_row_id,
4236 x_return_status => l_return_status);
4237
4238 END IF;
4239
4240 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4241
4242
4243
4244 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4245 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
4246 p_adj_element_id => l_adj_element_id_pl,
4247 p_project_id => l_project_id,
4248 p_task_id => l_task_id_pl,
4249 p_budget_version_id => l_budget_version_id,
4250 p_resource_assignment_id => l_ra_id_pl,
4251 p_period_name => l_period_name,
4252 p_start_date => l_start_date,
4253 p_end_date => l_end_date,
4254 p_burdened_cost_adjustment => l_period_amount,
4255 x_row_id => l_row_id,
4256 x_return_status => l_return_status);
4257
4258 END IF;
4259
4260 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4261
4262
4263
4264 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4265 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
4266 p_adj_element_id => l_adj_element_id_pl,
4267 p_project_id => l_project_id,
4268 p_task_id => l_task_id_pl,
4269 p_budget_version_id => l_budget_version_id,
4270 p_resource_assignment_id => l_ra_id_pl,
4271 p_period_name => l_period_name,
4272 p_start_date => l_start_date,
4273 p_end_date => l_end_date,
4274 p_utilization_adjustment => l_period_amount,
4275 x_row_id => l_row_id,
4276 x_return_status => l_return_status);
4277
4278 END IF;
4279
4280 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4281
4282
4283
4284 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4285 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id8,
4286 p_adj_element_id => l_adj_element_id_pl,
4287 p_project_id => l_project_id,
4288 p_task_id => l_task_id_pl,
4289 p_budget_version_id => l_budget_version_id,
4290 p_resource_assignment_id => l_ra_id_pl,
4291 p_period_name => l_period_name,
4292 p_start_date => l_start_date,
4293 p_end_date => l_end_date,
4294 p_head_count_adjustment => l_period_amount,
4295 x_row_id => l_row_id,
4296 x_return_status => l_return_status);
4297
4298 END IF;
4299
4300
4301
4302 END;
4303 /*end begin for period 8*/
4304 end if;
4305
4306 /*for period 9*/
4307 if l_period_name9 is not null then
4308 begin
4309
4310 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE9;
4311 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE9;
4312 l_period_amount := p_period9;
4313 l_period_name := l_period_name9;
4314
4315 select FIN_PLAN_ADJ_LINE_ID
4316 into l_fin_plan_adj_line_id9
4317 from pa_fin_plan_adj_lines
4318 where budget_version_id = l_budget_version_id
4319 and period_name=l_period_name
4320 and resource_assignment_id = l_ra_id_pl
4321 and adj_element_id = l_adj_element_id_pl;
4322
4323
4324 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4325
4326
4327
4328 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4329 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
4330 p_revenue_adjustment => l_period_amount,
4331 x_return_status => l_return_status);
4332
4333 END IF;
4334
4335
4336 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4337
4338
4339
4340 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4341 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
4342 p_burdened_cost_adjustment => l_period_amount,
4343 x_return_status => l_return_status);
4344
4345 END IF;
4346
4347 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4348
4349
4350
4351 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4352 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
4353 p_utilization_adjustment => l_period_amount,
4354 x_return_status => l_return_status);
4355
4356 END IF;
4357
4358 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4359
4360
4361
4362 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4363 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
4364 p_head_count_adjustment => l_period_amount,
4365 x_return_status => l_return_status);
4366
4367 END IF;
4368
4369
4370
4371
4372 exception
4373 WHEN NO_DATA_FOUND THEN
4374
4375
4376 /* for period 9*/
4377
4378
4379
4380 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4381
4382
4383
4384 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4385 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
4386 p_adj_element_id => l_adj_element_id_pl,
4387 p_project_id => l_project_id,
4388 p_task_id => l_task_id_pl,
4389 p_budget_version_id => l_budget_version_id,
4390 p_resource_assignment_id => l_ra_id_pl,
4391 p_period_name => l_period_name,
4392 p_start_date => l_start_date,
4393 p_end_date => l_end_date,
4394 p_revenue_adjustment => l_period_amount,
4395 x_row_id => l_row_id,
4396 x_return_status => l_return_status);
4397
4398 END IF;
4399
4400 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4401
4402
4403
4404 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4405 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
4406 p_adj_element_id => l_adj_element_id_pl,
4407 p_project_id => l_project_id,
4408 p_task_id => l_task_id_pl,
4409 p_budget_version_id => l_budget_version_id,
4410 p_resource_assignment_id => l_ra_id_pl,
4411 p_period_name => l_period_name,
4412 p_start_date => l_start_date,
4413 p_end_date => l_end_date,
4414 p_burdened_cost_adjustment => l_period_amount,
4415 x_row_id => l_row_id,
4416 x_return_status => l_return_status);
4417
4418 END IF;
4419
4420 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4421
4422
4423
4424 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4425 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
4426 p_adj_element_id => l_adj_element_id_pl,
4427 p_project_id => l_project_id,
4428 p_task_id => l_task_id_pl,
4429 p_budget_version_id => l_budget_version_id,
4430 p_resource_assignment_id => l_ra_id_pl,
4431 p_period_name => l_period_name,
4432 p_start_date => l_start_date,
4433 p_end_date => l_end_date,
4434 p_utilization_adjustment => l_period_amount,
4435 x_row_id => l_row_id,
4436 x_return_status => l_return_status);
4437
4438 END IF;
4439
4440 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4441
4442
4443
4444 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4445 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id9,
4446 p_adj_element_id => l_adj_element_id_pl,
4447 p_project_id => l_project_id,
4448 p_task_id => l_task_id_pl,
4449 p_budget_version_id => l_budget_version_id,
4450 p_resource_assignment_id => l_ra_id_pl,
4451 p_period_name => l_period_name,
4452 p_start_date => l_start_date,
4453 p_end_date => l_end_date,
4454 p_head_count_adjustment => l_period_amount,
4455 x_row_id => l_row_id,
4456 x_return_status => l_return_status);
4457
4458 END IF;
4459
4460
4461
4462 END;
4463 /*end begin for period 9*/
4464 end if;
4465
4466
4467 /*for period 10*/
4468 if l_period_name10 is not null then
4469 begin
4470
4471 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE10;
4472 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE10;
4473 l_period_amount := p_period10;
4474 l_period_name := l_period_name10;
4475
4476 select FIN_PLAN_ADJ_LINE_ID
4477 into l_fin_plan_adj_line_id10
4478 from pa_fin_plan_adj_lines
4479 where budget_version_id = l_budget_version_id
4480 and period_name=l_period_name
4481 and resource_assignment_id = l_ra_id_pl
4482 and adj_element_id = l_adj_element_id_pl;
4483
4484
4485 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4486
4487
4488
4489 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4490 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
4491 p_revenue_adjustment => l_period_amount,
4492 x_return_status => l_return_status);
4493
4494 END IF;
4495
4496
4497 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4498
4499
4500
4501 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4502 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
4503 p_burdened_cost_adjustment => l_period_amount,
4504 x_return_status => l_return_status);
4505
4506 END IF;
4507
4508 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4509
4510
4511
4512 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4513 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
4514 p_utilization_adjustment => l_period_amount,
4515 x_return_status => l_return_status);
4516
4517 END IF;
4518
4519 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4520
4521
4522
4523 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4524 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
4525 p_head_count_adjustment => l_period_amount,
4526 x_return_status => l_return_status);
4527
4528 END IF;
4529
4530
4531
4532
4533 exception
4534 WHEN NO_DATA_FOUND THEN
4535
4536
4537 /* for period 10*/
4538
4539
4540
4541 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4542
4543
4544
4545 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4546 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
4547 p_adj_element_id => l_adj_element_id_pl,
4548 p_project_id => l_project_id,
4549 p_task_id => l_task_id_pl,
4550 p_budget_version_id => l_budget_version_id,
4551 p_resource_assignment_id => l_ra_id_pl,
4552 p_period_name => l_period_name,
4553 p_start_date => l_start_date,
4554 p_end_date => l_end_date,
4555 p_revenue_adjustment => l_period_amount,
4556 x_row_id => l_row_id,
4557 x_return_status => l_return_status);
4558
4559 END IF;
4560
4561 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4562
4563
4564
4565 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4566 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
4567 p_adj_element_id => l_adj_element_id_pl,
4568 p_project_id => l_project_id,
4569 p_task_id => l_task_id_pl,
4570 p_budget_version_id => l_budget_version_id,
4571 p_resource_assignment_id => l_ra_id_pl,
4572 p_period_name => l_period_name,
4573 p_start_date => l_start_date,
4574 p_end_date => l_end_date,
4575 p_burdened_cost_adjustment => l_period_amount,
4576 x_row_id => l_row_id,
4577 x_return_status => l_return_status);
4578
4579 END IF;
4580
4581 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4582
4583
4584
4585 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4586 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
4587 p_adj_element_id => l_adj_element_id_pl,
4588 p_project_id => l_project_id,
4589 p_task_id => l_task_id_pl,
4590 p_budget_version_id => l_budget_version_id,
4591 p_resource_assignment_id => l_ra_id_pl,
4592 p_period_name => l_period_name,
4593 p_start_date => l_start_date,
4594 p_end_date => l_end_date,
4595 p_utilization_adjustment => l_period_amount,
4596 x_row_id => l_row_id,
4597 x_return_status => l_return_status);
4598
4599 END IF;
4600
4601 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4602
4603
4604
4605 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4606 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id10,
4607 p_adj_element_id => l_adj_element_id_pl,
4608 p_project_id => l_project_id,
4609 p_task_id => l_task_id_pl,
4610 p_budget_version_id => l_budget_version_id,
4611 p_resource_assignment_id => l_ra_id_pl,
4612 p_period_name => l_period_name,
4613 p_start_date => l_start_date,
4614 p_end_date => l_end_date,
4615 p_head_count_adjustment => l_period_amount,
4616 x_row_id => l_row_id,
4617 x_return_status => l_return_status);
4618
4619 END IF;
4620
4621
4622
4623 END;
4624 /*end begin for period 10*/
4625 end if;
4626
4627 /*for period 11*/
4628 if l_period_name11 is not null then
4629 begin
4630
4631 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE11;
4632 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE11;
4633 l_period_amount := p_period11;
4634 l_period_name := l_period_name11;
4635
4636 select FIN_PLAN_ADJ_LINE_ID
4637 into l_fin_plan_adj_line_id11
4638 from pa_fin_plan_adj_lines
4639 where budget_version_id = l_budget_version_id
4640 and period_name=l_period_name
4641 and resource_assignment_id = l_ra_id_pl
4642 and adj_element_id = l_adj_element_id_pl;
4643
4644
4645 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4646
4647
4648
4649 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4650 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
4651 p_revenue_adjustment => l_period_amount,
4652 x_return_status => l_return_status);
4653
4654 END IF;
4655
4656
4657 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4658
4659
4660
4661 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4662 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
4663 p_burdened_cost_adjustment => l_period_amount,
4664 x_return_status => l_return_status);
4665
4666 END IF;
4667
4668 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4669
4670
4671
4672 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4673 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
4674 p_utilization_adjustment => l_period_amount,
4675 x_return_status => l_return_status);
4676
4677 END IF;
4678
4679 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4680
4681
4682
4683 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4684 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
4685 p_head_count_adjustment => l_period_amount,
4686 x_return_status => l_return_status);
4687
4688 END IF;
4689
4690
4691 exception
4692 WHEN NO_DATA_FOUND THEN
4693
4694
4695 /* for period 11*/
4696
4697
4698
4699 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4700
4701
4702
4703 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4704 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
4705 p_adj_element_id => l_adj_element_id_pl,
4706 p_project_id => l_project_id,
4707 p_task_id => l_task_id_pl,
4708 p_budget_version_id => l_budget_version_id,
4709 p_resource_assignment_id => l_ra_id_pl,
4710 p_period_name => l_period_name,
4711 p_start_date => l_start_date,
4712 p_end_date => l_end_date,
4713 p_revenue_adjustment => l_period_amount,
4714 x_row_id => l_row_id,
4715 x_return_status => l_return_status);
4716
4717 END IF;
4718
4719 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4720
4721
4722
4723 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4724 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
4725 p_adj_element_id => l_adj_element_id_pl,
4726 p_project_id => l_project_id,
4727 p_task_id => l_task_id_pl,
4728 p_budget_version_id => l_budget_version_id,
4729 p_resource_assignment_id => l_ra_id_pl,
4730 p_period_name => l_period_name,
4731 p_start_date => l_start_date,
4732 p_end_date => l_end_date,
4733 p_burdened_cost_adjustment => l_period_amount,
4734 x_row_id => l_row_id,
4735 x_return_status => l_return_status);
4736
4737 END IF;
4738
4739 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4740
4741
4742
4743 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4744 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
4745 p_adj_element_id => l_adj_element_id_pl,
4746 p_project_id => l_project_id,
4747 p_task_id => l_task_id_pl,
4748 p_budget_version_id => l_budget_version_id,
4749 p_resource_assignment_id => l_ra_id_pl,
4750 p_period_name => l_period_name,
4751 p_start_date => l_start_date,
4752 p_end_date => l_end_date,
4753 p_utilization_adjustment => l_period_amount,
4754 x_row_id => l_row_id,
4755 x_return_status => l_return_status);
4756
4757 END IF;
4758
4759 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4760
4761
4762
4763 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4764 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id11,
4765 p_adj_element_id => l_adj_element_id_pl,
4766 p_project_id => l_project_id,
4767 p_task_id => l_task_id_pl,
4768 p_budget_version_id => l_budget_version_id,
4769 p_resource_assignment_id => l_ra_id_pl,
4770 p_period_name => l_period_name,
4771 p_start_date => l_start_date,
4772 p_end_date => l_end_date,
4773 p_head_count_adjustment => l_period_amount,
4774 x_row_id => l_row_id,
4775 x_return_status => l_return_status);
4776
4777 END IF;
4778
4779
4780
4781 END;
4782 /*end begin for period 11*/
4783 end if;
4784
4785 /*for period 12*/
4786 if l_period_name12 is not null then
4787 begin
4788
4789 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE12;
4790 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE12;
4791 l_period_amount := p_period12;
4792 l_period_name := l_period_name12;
4793
4794 select FIN_PLAN_ADJ_LINE_ID
4795 into l_fin_plan_adj_line_id12
4796 from pa_fin_plan_adj_lines
4797 where budget_version_id = l_budget_version_id
4798 and period_name=l_period_name
4799 and resource_assignment_id = l_ra_id_pl
4800 and adj_element_id = l_adj_element_id_pl;
4801
4802
4803 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4804
4805
4806
4807 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4808 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
4809 p_revenue_adjustment => l_period_amount,
4810 x_return_status => l_return_status);
4811
4812 END IF;
4813
4814
4815 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4816
4817
4818
4819 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4820 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
4821 p_burdened_cost_adjustment => l_period_amount,
4822 x_return_status => l_return_status);
4823
4824 END IF;
4825
4826 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4827
4828
4829
4830 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4831 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
4832 p_utilization_adjustment => l_period_amount,
4833 x_return_status => l_return_status);
4834
4835 END IF;
4836
4837 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4838
4839
4840
4841 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4842 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
4843 p_head_count_adjustment => l_period_amount,
4844 x_return_status => l_return_status);
4845
4846 END IF;
4847
4848
4849
4850
4851 exception
4852 WHEN NO_DATA_FOUND THEN
4853
4854
4855 /* for period 12*/
4856
4857
4858
4859 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4860
4861
4862
4863 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4864 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
4865 p_adj_element_id => l_adj_element_id_pl,
4866 p_project_id => l_project_id,
4867 p_task_id => l_task_id_pl,
4868 p_budget_version_id => l_budget_version_id,
4869 p_resource_assignment_id => l_ra_id_pl,
4870 p_period_name => l_period_name,
4871 p_start_date => l_start_date,
4872 p_end_date => l_end_date,
4873 p_revenue_adjustment => l_period_amount,
4874 x_row_id => l_row_id,
4875 x_return_status => l_return_status);
4876
4877 END IF;
4878
4879 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4880
4881
4882
4883 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4884 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
4885 p_adj_element_id => l_adj_element_id_pl,
4886 p_project_id => l_project_id,
4887 p_task_id => l_task_id_pl,
4888 p_budget_version_id => l_budget_version_id,
4889 p_resource_assignment_id => l_ra_id_pl,
4890 p_period_name => l_period_name,
4891 p_start_date => l_start_date,
4892 p_end_date => l_end_date,
4893 p_burdened_cost_adjustment => l_period_amount,
4894 x_row_id => l_row_id,
4895 x_return_status => l_return_status);
4896
4897 END IF;
4898
4899 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4900
4901
4902
4903 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4904 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
4905 p_adj_element_id => l_adj_element_id_pl,
4906 p_project_id => l_project_id,
4907 p_task_id => l_task_id_pl,
4908 p_budget_version_id => l_budget_version_id,
4909 p_resource_assignment_id => l_ra_id_pl,
4910 p_period_name => l_period_name,
4911 p_start_date => l_start_date,
4912 p_end_date => l_end_date,
4913 p_utilization_adjustment => l_period_amount,
4914 x_row_id => l_row_id,
4915 x_return_status => l_return_status);
4916
4917 END IF;
4918
4919 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4920
4921
4922
4923 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4924 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id12,
4925 p_adj_element_id => l_adj_element_id_pl,
4926 p_project_id => l_project_id,
4927 p_task_id => l_task_id_pl,
4928 p_budget_version_id => l_budget_version_id,
4929 p_resource_assignment_id => l_ra_id_pl,
4930 p_period_name => l_period_name,
4931 p_start_date => l_start_date,
4932 p_end_date => l_end_date,
4933 p_head_count_adjustment => l_period_amount,
4934 x_row_id => l_row_id,
4935 x_return_status => l_return_status);
4936
4937 END IF;
4938
4939
4940
4941 END;
4942 /*end begin for period 12*/
4943 end if;
4944
4945 /*for period 13*/
4946 if l_period_name13 is not null then
4947 begin
4948
4949 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE13;
4950 l_end_date := pa_fin_plan_view_global.G_FP_VIEW_END_DATE13;
4951 l_period_amount := p_period13;
4952 l_period_name := l_period_name13;
4953
4954 select FIN_PLAN_ADJ_LINE_ID
4955 into l_fin_plan_adj_line_id13
4956 from pa_fin_plan_adj_lines
4957 where budget_version_id = l_budget_version_id
4958 and period_name=l_period_name
4959 and resource_assignment_id = l_ra_id_pl
4960 and adj_element_id = l_adj_element_id_pl;
4961
4962
4963 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
4964
4965
4966
4967 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4968 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
4969 p_revenue_adjustment => l_period_amount,
4970 x_return_status => l_return_status);
4971
4972 END IF;
4973
4974
4975 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
4976
4977
4978
4979 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4980 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
4981 p_burdened_cost_adjustment => l_period_amount,
4982 x_return_status => l_return_status);
4983
4984 END IF;
4985
4986 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
4987
4988
4989
4990 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
4991 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
4992 p_utilization_adjustment => l_period_amount,
4993 x_return_status => l_return_status);
4994
4995 END IF;
4996
4997 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
4998
4999
5000
5001 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
5002 update_row(p_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
5003 p_head_count_adjustment => l_period_amount,
5004 x_return_status => l_return_status);
5005
5006 END IF;
5007
5008
5009
5010
5011 exception
5012 WHEN NO_DATA_FOUND THEN
5013
5014
5015 /* for period 13*/
5016
5017
5018
5019 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5020
5021
5022
5023 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
5024 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
5025 p_adj_element_id => l_adj_element_id_pl,
5026 p_project_id => l_project_id,
5027 p_task_id => l_task_id_pl,
5028 p_budget_version_id => l_budget_version_id,
5029 p_resource_assignment_id => l_ra_id_pl,
5030 p_period_name => l_period_name,
5031 p_start_date => l_start_date,
5032 p_end_date => l_end_date,
5033 p_revenue_adjustment => l_period_amount,
5034 x_row_id => l_row_id,
5035 x_return_status => l_return_status);
5036
5037 END IF;
5038
5039 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5040
5041
5042
5043 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
5044 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
5045 p_adj_element_id => l_adj_element_id_pl,
5046 p_project_id => l_project_id,
5047 p_task_id => l_task_id_pl,
5048 p_budget_version_id => l_budget_version_id,
5049 p_resource_assignment_id => l_ra_id_pl,
5050 p_period_name => l_period_name,
5051 p_start_date => l_start_date,
5052 p_end_date => l_end_date,
5053 p_burdened_cost_adjustment => l_period_amount,
5054 x_row_id => l_row_id,
5055 x_return_status => l_return_status);
5056
5057 END IF;
5058
5059 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5060
5061
5062
5063 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
5064 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
5065 p_adj_element_id => l_adj_element_id_pl,
5066 p_project_id => l_project_id,
5067 p_task_id => l_task_id_pl,
5068 p_budget_version_id => l_budget_version_id,
5069 p_resource_assignment_id => l_ra_id_pl,
5070 p_period_name => l_period_name,
5071 p_start_date => l_start_date,
5072 p_end_date => l_end_date,
5073 p_utilization_adjustment => l_period_amount,
5074 x_row_id => l_row_id,
5075 x_return_status => l_return_status);
5076
5077 END IF;
5078
5079 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5080
5081
5082
5083 PA_FP_FIN_PLAN_ADJ_LINES_PKG.
5084 insert_row(px_fin_plan_adj_line_id => l_fin_plan_adj_line_id13,
5085 p_adj_element_id => l_adj_element_id_pl,
5086 p_project_id => l_project_id,
5087 p_task_id => l_task_id_pl,
5088 p_budget_version_id => l_budget_version_id,
5089 p_resource_assignment_id => l_ra_id_pl,
5090 p_period_name => l_period_name,
5091 p_start_date => l_start_date,
5092 p_end_date => l_end_date,
5093 p_head_count_adjustment => l_period_amount,
5094 x_row_id => l_row_id,
5095 x_return_status => l_return_status);
5096
5097 END IF;
5098
5099
5100
5101 END;
5102 /*end begin for period 13*/
5103 end if;
5104
5105
5106 END IF;
5107
5108 /* END IF 'PA'*/
5109
5110
5111
5112 /****************************************************************************************/
5113 /*End of update pa_fin_plan_adj_lines*/
5114 /***************************************************************************************/
5115
5116
5117
5118
5119 /********************************************************************************************/
5120 /* update pa_budget_lines */
5121 /********************************************************************************************/
5122
5123 ---->Bug 4947912. In the code below that updates pa_budget_lines did the following changes
5124 ---->Handled the no_data_found exception on the Selects on pa_budget_lines
5125 ---->Call to pa_fp_budget_lines_pkg.Update_Row is made only if the budget line exists.
5126
5127
5128
5129 /* for period1 */
5130
5131 if l_period_name1 is not null then
5132 /*for l_ra_id_pl project level resource_assignment_id*/
5133
5134 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE1;
5135 /* Bug fix 2891111*/
5136 /* April 07, 2003*/
5137 --Bug 4947912
5138 Begin
5139 select budget_line_id
5140 into l_budget_line_id
5141 from pa_budget_lines
5142 where resource_assignment_id = l_ra_id_pl
5143 and start_date = l_start_date
5144 and txn_currency_code = p_currency_code;
5145 Exception
5146 When NO_DATA_FOUND Then
5147 l_budget_line_id := NULL;
5148 End;
5149 /* Bug fix 2891111*/
5150 /* April 07, 2003*/
5151
5152 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5153
5154 select sum(nvl(revenue_adjustment,0))
5155 into l_period_amount
5156 from pa_fin_plan_adj_lines
5157 where resource_assignment_id = l_ra_id_pl
5158 and start_date = l_start_date;
5159 --Bug 4947912
5160 IF l_budget_line_id IS NOT NULL THEN
5161 pa_fp_budget_lines_pkg.
5162 Update_Row(p_budget_line_id =>l_budget_line_id,
5163 p_revenue_adj => l_period_amount,
5164 x_return_status =>l_return_status);
5165 End if;
5166
5167 End IF;
5168
5169 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5170
5171 select sum(nvl(burdened_cost_adjustment,0))
5172 into l_period_amount
5173 from pa_fin_plan_adj_lines
5174 where resource_assignment_id = l_ra_id_pl
5175 and start_date = l_start_date;
5176 --Bug 4947912
5177 IF l_budget_line_id IS NOT NULL THEN
5178 pa_fp_budget_lines_pkg.
5179 Update_Row(p_budget_line_id =>l_budget_line_id,
5180 p_cost_adj => l_period_amount,
5181 x_return_status =>l_return_status);
5182 End if;
5183 End IF;
5184
5185 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5186
5187 select sum(nvl(head_count_adjustment,0))
5188 into l_period_amount
5189 from pa_fin_plan_adj_lines
5190 where resource_assignment_id = l_ra_id_pl
5191 and start_date = l_start_date;
5192 --Bug 4947912
5193 IF l_budget_line_id IS NOT NULL THEN
5194 pa_fp_budget_lines_pkg.
5195 Update_Row(p_budget_line_id =>l_budget_line_id,
5196 p_head_count_adj => l_period_amount,
5197 x_return_status =>l_return_status);
5198 End if;
5199 End IF;
5200
5201 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5202
5203 select sum(nvl(utilization_adjustment,0))
5204 into l_period_amount
5205 from pa_fin_plan_adj_lines
5206 where resource_assignment_id = l_ra_id_pl
5207 and start_date = l_start_date;
5208 --Bug 4947912
5209 IF l_budget_line_id IS NOT NULL THEN
5210 pa_fp_budget_lines_pkg.
5211 Update_Row(p_budget_line_id =>l_budget_line_id,
5212 p_utilization_adj => l_period_amount,
5213 x_return_status =>l_return_status);
5214 End if;
5215
5216 End IF;
5217
5218
5219 l_denorm_amount1_pl:=l_period_amount;
5220 end if;
5221
5222 /* for period 2 */
5223
5224
5225 if l_period_name2 is not null then
5226 /*for l_ra_id_pl project level resource_assignment_id*/
5227
5228 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE2;
5229
5230 /* Bug fix 2891111*/
5231 /* April 07, 2003*/
5232 --Bug 4947912
5233 Begin
5234 select budget_line_id
5235 into l_budget_line_id
5236 from pa_budget_lines
5237 where resource_assignment_id = l_ra_id_pl
5238 and start_date = l_start_date
5239 and txn_currency_code = p_currency_code;
5240 Exception
5241 When NO_DATA_FOUND then
5242 l_budget_line_id := NULL;
5243 End;
5244 /* Bug fix 2891111*/
5245 /* April 07, 2003*/
5246
5247 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5248
5249 select sum(nvl(revenue_adjustment,0))
5250 into l_period_amount
5251 from pa_fin_plan_adj_lines
5252 where resource_assignment_id = l_ra_id_pl
5253 and start_date = l_start_date;
5254
5255 If l_budget_line_id is not null then
5256 pa_fp_budget_lines_pkg.
5257 Update_Row(p_budget_line_id =>l_budget_line_id,
5258 p_revenue_adj => l_period_amount,
5259 x_return_status =>l_return_status);
5260 End if;
5261
5262 End IF;
5263
5264 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5265
5266 select sum(nvl(burdened_cost_adjustment,0))
5267 into l_period_amount
5268 from pa_fin_plan_adj_lines
5269 where resource_assignment_id = l_ra_id_pl
5270 and start_date = l_start_date;
5271
5272 --Bug 4947912
5273 If l_budget_line_id is not null then
5274 pa_fp_budget_lines_pkg.
5275 Update_Row(p_budget_line_id =>l_budget_line_id,
5276 p_cost_adj => l_period_amount,
5277 x_return_status =>l_return_status);
5278 End if;
5279 End IF;
5280
5281 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5282
5283 select sum(nvl(head_count_adjustment,0))
5284 into l_period_amount
5285 from pa_fin_plan_adj_lines
5286 where resource_assignment_id = l_ra_id_pl
5287 and start_date = l_start_date;
5288
5289
5290 --Bug 4947912
5291 If l_budget_line_id is not null then
5292 pa_fp_budget_lines_pkg.
5293 Update_Row(p_budget_line_id =>l_budget_line_id,
5294 p_head_count_adj => l_period_amount,
5295 x_return_status =>l_return_status);
5296 End if;
5297
5298 End IF;
5299
5300 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5301
5302 select sum(nvl(utilization_adjustment,0))
5303 into l_period_amount
5304 from pa_fin_plan_adj_lines
5305 where resource_assignment_id = l_ra_id_pl
5306 and start_date = l_start_date;
5307
5308
5309 --Bug 4947912
5310 If l_budget_line_id is not null then
5311 pa_fp_budget_lines_pkg.
5312 Update_Row(p_budget_line_id =>l_budget_line_id,
5313 p_utilization_adj => l_period_amount,
5314 x_return_status =>l_return_status);
5315 End if;
5316
5317 End IF;
5318
5319 l_denorm_amount2_pl:=l_period_amount;
5320
5321 end if;
5322
5323 /* for period 3 */
5324
5325 if l_period_name3 is not null then
5326 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE3;
5327 /* Bug fix 2891111*/
5328 /* April 07, 2003*/
5329 --Bug 4947912
5330 Begin
5331 select budget_line_id
5332 into l_budget_line_id
5333 from pa_budget_lines
5334 where resource_assignment_id = l_ra_id_pl
5335 and start_date = l_start_date
5336 and txn_currency_code = p_currency_code;
5337 Exception
5338 When NO_DATA_FOUND then
5339 l_budget_line_id := NULL;
5340 End;
5341 /* Bug fix 2891111*/
5342 /* April 07, 2003*/
5343
5344 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5345
5346 select sum(nvl(revenue_adjustment,0))
5347 into l_period_amount
5348 from pa_fin_plan_adj_lines
5349 where resource_assignment_id = l_ra_id_pl
5350 and start_date = l_start_date;
5351
5352 --Bug 4947912
5353 If l_budget_line_id is not null then
5354 pa_fp_budget_lines_pkg.
5355 Update_Row(p_budget_line_id =>l_budget_line_id,
5356 p_revenue_adj => l_period_amount,
5357 x_return_status =>l_return_status);
5358 End if;
5359
5360 End IF;
5361
5362 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5363
5364 select sum(nvl(burdened_cost_adjustment,0))
5365 into l_period_amount
5366 from pa_fin_plan_adj_lines
5367 where resource_assignment_id = l_ra_id_pl
5368 and start_date = l_start_date;
5369
5370 --Bug 4947912
5371 If l_budget_line_id is not null then
5372 pa_fp_budget_lines_pkg.
5373 Update_Row(p_budget_line_id =>l_budget_line_id,
5374 p_cost_adj => l_period_amount,
5375 x_return_status =>l_return_status);
5376 End if;
5377 End IF;
5378
5379 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5380
5381 select sum(nvl(head_count_adjustment,0))
5382 into l_period_amount
5383 from pa_fin_plan_adj_lines
5384 where resource_assignment_id = l_ra_id_pl
5385 and start_date = l_start_date;
5386
5387 --Bug 4947912
5388 If l_budget_line_id is not null then
5389 pa_fp_budget_lines_pkg.
5390 Update_Row(p_budget_line_id =>l_budget_line_id,
5391 p_head_count_adj => l_period_amount,
5392 x_return_status =>l_return_status);
5393 End if;
5394
5395 End IF;
5396
5397 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5398
5399 select sum(nvl(utilization_adjustment,0))
5400 into l_period_amount
5401 from pa_fin_plan_adj_lines
5402 where resource_assignment_id = l_ra_id_pl
5403 and start_date = l_start_date;
5404
5405 --Bug 4947912
5406 If l_budget_line_id is not null then
5407 pa_fp_budget_lines_pkg.
5408 Update_Row(p_budget_line_id =>l_budget_line_id,
5409 p_utilization_adj => l_period_amount,
5410 x_return_status =>l_return_status);
5411 End if;
5412
5413 End IF;
5414
5415 l_denorm_amount3_pl:=l_period_amount;
5416
5417 end if;
5418 /* for Period 4 */
5419
5420
5421 if l_period_name4 is not null then
5422 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE4;
5423 /* Bug fix 2891111*/
5424 /* April 07, 2003*/
5425 --Bug 4947912
5426 Begin
5427 select budget_line_id
5428 into l_budget_line_id
5429 from pa_budget_lines
5430 where resource_assignment_id = l_ra_id_pl
5431 and start_date = l_start_date
5432 and txn_currency_code = p_currency_code;
5433 Exception
5434 When NO_DATA_FOUND then
5435 l_budget_line_id := NULL;
5436 End;
5437 /* Bug fix 2891111*/
5438 /* April 07, 2003*/
5439
5440
5441 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5442
5443 select sum(nvl(revenue_adjustment,0))
5444 into l_period_amount
5445 from pa_fin_plan_adj_lines
5446 where resource_assignment_id = l_ra_id_pl
5447 and start_date = l_start_date;
5448
5449 --Bug 4947912
5450 If l_budget_line_id is not null then
5451 pa_fp_budget_lines_pkg.
5452 Update_Row(p_budget_line_id =>l_budget_line_id,
5453 p_revenue_adj => l_period_amount,
5454 x_return_status =>l_return_status);
5455 End if;
5456
5457 End IF;
5458
5459 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5460
5461 select sum(nvl(burdened_cost_adjustment,0))
5462 into l_period_amount
5463 from pa_fin_plan_adj_lines
5464 where resource_assignment_id = l_ra_id_pl
5465 and start_date = l_start_date;
5466
5467 --Bug 4947912
5468 If l_budget_line_id is not null then
5469 pa_fp_budget_lines_pkg.
5470 Update_Row(p_budget_line_id =>l_budget_line_id,
5471 p_cost_adj => l_period_amount,
5472 x_return_status =>l_return_status);
5473 End if;
5474
5475 End IF;
5476
5477 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5478
5479 select sum(nvl(head_count_adjustment,0))
5480 into l_period_amount
5481 from pa_fin_plan_adj_lines
5482 where resource_assignment_id = l_ra_id_pl
5483 and start_date = l_start_date;
5484
5485 --Bug 4947912
5486 If l_budget_line_id is not null then
5487 pa_fp_budget_lines_pkg.
5488 Update_Row(p_budget_line_id =>l_budget_line_id,
5489 p_head_count_adj => l_period_amount,
5490 x_return_status =>l_return_status);
5491 End if;
5492
5493 End IF;
5494
5495 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5496
5497 select sum(nvl(utilization_adjustment,0))
5498 into l_period_amount
5499 from pa_fin_plan_adj_lines
5500 where resource_assignment_id = l_ra_id_pl
5501 and start_date = l_start_date;
5502
5503 --Bug 4947912
5504 If l_budget_line_id is not null then
5505 pa_fp_budget_lines_pkg.
5506 Update_Row(p_budget_line_id =>l_budget_line_id,
5507 p_utilization_adj => l_period_amount,
5508 x_return_status =>l_return_status);
5509 End if;
5510
5511 End IF;
5512
5513
5514 l_denorm_amount4_pl:=l_period_amount;
5515
5516 end if;
5517 /* for period 5 */
5518
5519 if l_period_name5 is not null then
5520
5521 /*for l_ra_id_pl project level resource_assignment_id*/
5522
5523 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE5;
5524 /* Bug fix 2891111*/
5525 /* April 07, 2003*/
5526 --Bug 4947912
5527 Begin
5528 select budget_line_id
5529 into l_budget_line_id
5530 from pa_budget_lines
5531 where resource_assignment_id = l_ra_id_pl
5532 and start_date = l_start_date
5533 and txn_currency_code = p_currency_code;
5534 Exception
5535 When NO_DATA_FOUND Then
5536 l_budget_line_id := NULL;
5537 End;
5538 /* Bug fix 2891111*/
5539 /* April 07, 2003*/
5540
5541
5542 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5543
5544 select sum(nvl(revenue_adjustment,0))
5545 into l_period_amount
5546 from pa_fin_plan_adj_lines
5547 where resource_assignment_id = l_ra_id_pl
5548 and start_date = l_start_date;
5549
5550 --Bug 4947912
5551 If l_budget_line_id is not null then
5552 pa_fp_budget_lines_pkg.
5553 Update_Row(p_budget_line_id =>l_budget_line_id,
5554 p_revenue_adj => l_period_amount,
5555 x_return_status =>l_return_status);
5556 End If;
5557
5558 End IF;
5559
5560 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5561
5562 select sum(nvl(burdened_cost_adjustment,0))
5563 into l_period_amount
5564 from pa_fin_plan_adj_lines
5565 where resource_assignment_id = l_ra_id_pl
5566 and start_date = l_start_date;
5567
5568 --Bug 4947912
5569 If l_budget_line_id is not null then
5570 pa_fp_budget_lines_pkg.
5571 Update_Row(p_budget_line_id =>l_budget_line_id,
5572 p_cost_adj => l_period_amount,
5573 x_return_status =>l_return_status);
5574 End If;
5575
5576 End IF;
5577
5578 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5579
5580 select sum(nvl(head_count_adjustment,0))
5581 into l_period_amount
5582 from pa_fin_plan_adj_lines
5583 where resource_assignment_id = l_ra_id_pl
5584 and start_date = l_start_date;
5585
5586 --Bug 4947912
5587 If l_budget_line_id is not null then
5588 pa_fp_budget_lines_pkg.
5589 Update_Row(p_budget_line_id =>l_budget_line_id,
5590 p_head_count_adj => l_period_amount,
5591 x_return_status =>l_return_status);
5592 End if;
5593
5594 End IF;
5595
5596 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5597
5598 select sum(nvl(utilization_adjustment,0))
5599 into l_period_amount
5600 from pa_fin_plan_adj_lines
5601 where resource_assignment_id = l_ra_id_pl
5602 and start_date = l_start_date;
5603
5604 --Bug 4947912
5605 If l_budget_line_id is not null then
5606 pa_fp_budget_lines_pkg.
5607 Update_Row(p_budget_line_id =>l_budget_line_id,
5608 p_utilization_adj => l_period_amount,
5609 x_return_status =>l_return_status);
5610 End if;
5611 End IF;
5612
5613 l_denorm_amount5_pl:=l_period_amount;
5614
5615 end if;
5616 /* for period 6 */
5617
5618 if l_period_name6 is not null then
5619
5620 /*for l_ra_id_pl project level resource_assignment_id*/
5621
5622 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE6;
5623 /* Bug fix 2891111*/
5624 /* April 07, 2003*/
5625 --Bug 4947912
5626 Begin
5627 select budget_line_id
5628 into l_budget_line_id
5629 from pa_budget_lines
5630 where resource_assignment_id = l_ra_id_pl
5631 and start_date = l_start_date
5632 and txn_currency_code = p_currency_code;
5633 Exception
5634 When NO_DATA_FOUND then
5635 l_budget_line_id := NULL;
5636 End;
5637 /* Bug fix 2891111*/
5638 /* April 07, 2003*/
5639
5640
5641 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5642
5643 select sum(nvl(revenue_adjustment,0))
5644 into l_period_amount
5645 from pa_fin_plan_adj_lines
5646 where resource_assignment_id = l_ra_id_pl
5647 and start_date = l_start_date;
5648
5649 --Bug 4947912
5650 If l_budget_line_id is not null then
5651 pa_fp_budget_lines_pkg.
5652 Update_Row(p_budget_line_id =>l_budget_line_id,
5653 p_revenue_adj => l_period_amount,
5654 x_return_status =>l_return_status);
5655 End if;
5656
5657 End IF;
5658
5659 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5660
5661 select sum(nvl(burdened_cost_adjustment,0))
5662 into l_period_amount
5663 from pa_fin_plan_adj_lines
5664 where resource_assignment_id = l_ra_id_pl
5665 and start_date = l_start_date;
5666
5667 --Bug 4947912
5668 If l_budget_line_id is not null then
5669 pa_fp_budget_lines_pkg.
5670 Update_Row(p_budget_line_id =>l_budget_line_id,
5671 p_cost_adj => l_period_amount,
5672 x_return_status =>l_return_status);
5673 End if;
5674 End IF;
5675
5676 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5677
5678 select sum(nvl(head_count_adjustment,0))
5679 into l_period_amount
5680 from pa_fin_plan_adj_lines
5681 where resource_assignment_id = l_ra_id_pl
5682 and start_date = l_start_date;
5683
5684 --Bug 4947912
5685 If l_budget_line_id is not null then
5686 pa_fp_budget_lines_pkg.
5687 Update_Row(p_budget_line_id =>l_budget_line_id,
5688 p_head_count_adj => l_period_amount,
5689 x_return_status =>l_return_status);
5690 End if;
5691
5692 End IF;
5693
5694 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5695
5696 select sum(nvl(utilization_adjustment,0))
5697 into l_period_amount
5698 from pa_fin_plan_adj_lines
5699 where resource_assignment_id = l_ra_id_pl
5700 and start_date = l_start_date;
5701
5702 --Bug 4947912
5703 If l_budget_line_id is not null then
5704 pa_fp_budget_lines_pkg.
5705 Update_Row(p_budget_line_id =>l_budget_line_id,
5706 p_utilization_adj => l_period_amount,
5707 x_return_status =>l_return_status);
5708 End if;
5709 End IF;
5710
5711 l_denorm_amount6_pl:=l_period_amount;
5712 end if;
5713
5714 IF p_period_type = 'PA' THEN
5715
5716 /* for period 7 */
5717 if l_period_name7 is not null then
5718
5719 /*for l_ra_id_pl project level resource_assignment_id*/
5720
5721 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE7;
5722 /* Bug fix 2891111*/
5723 /* April 07, 2003*/
5724 --Bug 4947912
5725 Begin
5726 select budget_line_id
5727 into l_budget_line_id
5728 from pa_budget_lines
5729 where resource_assignment_id = l_ra_id_pl
5730 and start_date = l_start_date
5731 and txn_currency_code = p_currency_code;
5732 Exception
5733 When NO_DATA_FOUND then
5734 l_budget_line_id := NULL;
5735 End;
5736 /* Bug fix 2891111*/
5737 /* April 07, 2003*/
5738
5739 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5740
5741 select sum(nvl(revenue_adjustment,0))
5742 into l_period_amount
5743 from pa_fin_plan_adj_lines
5744 where resource_assignment_id = l_ra_id_pl
5745 and start_date = l_start_date;
5746
5747 --Bug 4947912
5748 If l_budget_line_id is not null then
5749 pa_fp_budget_lines_pkg.
5750 Update_Row(p_budget_line_id =>l_budget_line_id,
5751 p_revenue_adj => l_period_amount,
5752 x_return_status =>l_return_status);
5753 End if;
5754
5755 End IF;
5756
5757 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5758
5759 select sum(nvl(burdened_cost_adjustment,0))
5760 into l_period_amount
5761 from pa_fin_plan_adj_lines
5762 where resource_assignment_id = l_ra_id_pl
5763 and start_date = l_start_date;
5764 --Bug 4947912
5765 If l_budget_line_id is not null then
5766 pa_fp_budget_lines_pkg.
5767 Update_Row(p_budget_line_id =>l_budget_line_id,
5768 p_cost_adj => l_period_amount,
5769 x_return_status =>l_return_status);
5770 End if;
5771 End IF;
5772
5773 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5774
5775 select sum(nvl(head_count_adjustment,0))
5776 into l_period_amount
5777 from pa_fin_plan_adj_lines
5778 where resource_assignment_id = l_ra_id_pl
5779 and start_date = l_start_date;
5780 --Bug 4947912
5781 If l_budget_line_id is not null then
5782 pa_fp_budget_lines_pkg.
5783 Update_Row(p_budget_line_id =>l_budget_line_id,
5784 p_head_count_adj => l_period_amount,
5785 x_return_status =>l_return_status);
5786 End if;
5787 End IF;
5788
5789 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5790
5791 select sum(nvl(utilization_adjustment,0))
5792 into l_period_amount
5793 from pa_fin_plan_adj_lines
5794 where resource_assignment_id = l_ra_id_pl
5795 and start_date = l_start_date;
5796 --Bug 4947912
5797 If l_budget_line_id is not null then
5798 pa_fp_budget_lines_pkg.
5799 Update_Row(p_budget_line_id =>l_budget_line_id,
5800 p_utilization_adj => l_period_amount,
5801 x_return_status =>l_return_status);
5802 End if;
5803 End IF;
5804
5805
5806 l_denorm_amount7_pl:=l_period_amount;
5807
5808 end if;
5809 /* for period 8 */
5810
5811 if l_period_name8 is not null then
5812
5813 /*for l_ra_id_pl project level resource_assignment_id*/
5814
5815 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE8;
5816 /* Bug fix 2891111*/
5817 /* April 07, 2003*/
5818 --Bug 4947912
5819 Begin
5820 select budget_line_id
5821 into l_budget_line_id
5822 from pa_budget_lines
5823 where resource_assignment_id = l_ra_id_pl
5824 and start_date = l_start_date
5825 and txn_currency_code = p_currency_code;
5826 Exception
5827 When NO_DATA_FOUND Then
5828 l_budget_line_id := NULL;
5829 End;
5830 /* Bug fix 2891111*/
5831 /* April 07, 2003*/
5832
5833
5834 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5835
5836 select sum(nvl(revenue_adjustment,0))
5837 into l_period_amount
5838 from pa_fin_plan_adj_lines
5839 where resource_assignment_id = l_ra_id_pl
5840 and start_date = l_start_date;
5841
5842 --Bug 4947912
5843 If l_budget_line_id is not null then
5844 pa_fp_budget_lines_pkg.
5845 Update_Row(p_budget_line_id =>l_budget_line_id,
5846 p_revenue_adj => l_period_amount,
5847 x_return_status =>l_return_status);
5848 End if;
5849
5850 End IF;
5851
5852 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5853
5854 select sum(nvl(burdened_cost_adjustment,0))
5855 into l_period_amount
5856 from pa_fin_plan_adj_lines
5857 where resource_assignment_id = l_ra_id_pl
5858 and start_date = l_start_date;
5859
5860 --Bug 4947912
5861 If l_budget_line_id is not null then
5862 pa_fp_budget_lines_pkg.
5863 Update_Row(p_budget_line_id =>l_budget_line_id,
5864 p_cost_adj => l_period_amount,
5865 x_return_status =>l_return_status);
5866 End if;
5867 End IF;
5868
5869 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5870
5871 select sum(nvl(head_count_adjustment,0))
5872 into l_period_amount
5873 from pa_fin_plan_adj_lines
5874 where resource_assignment_id = l_ra_id_pl
5875 and start_date = l_start_date;
5876
5877 --Bug 4947912
5878 If l_budget_line_id is not null then
5879 pa_fp_budget_lines_pkg.
5880 Update_Row(p_budget_line_id =>l_budget_line_id,
5881 p_head_count_adj => l_period_amount,
5882 x_return_status =>l_return_status);
5883 End if;
5884 End IF;
5885
5886 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5887
5888 select sum(nvl(utilization_adjustment,0))
5889 into l_period_amount
5890 from pa_fin_plan_adj_lines
5891 where resource_assignment_id = l_ra_id_pl
5892 and start_date = l_start_date;
5893
5894 --Bug 4947912
5895 If l_budget_line_id is not null then
5896 pa_fp_budget_lines_pkg.
5897 Update_Row(p_budget_line_id =>l_budget_line_id,
5898 p_utilization_adj => l_period_amount,
5899 x_return_status =>l_return_status);
5900 End if;
5901 End IF;
5902
5903 l_denorm_amount8_pl:=l_period_amount;
5904
5905 end if;
5906 /* for period 9 */
5907
5908 if l_period_name9 is not null then
5909 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE9;
5910 /* Bug fix 2891111*/
5911 /* April 07, 2003*/
5912 --Bug 4947912
5913 Begin
5914 select budget_line_id
5915 into l_budget_line_id
5916 from pa_budget_lines
5917 where resource_assignment_id = l_ra_id_pl
5918 and start_date = l_start_date
5919 and txn_currency_code = p_currency_code;
5920 Exception
5921 When NO_DATA_FOUND Then
5922 l_budget_line_id := NULL;
5923 End;
5924 /* Bug fix 2891111*/
5925 /* April 07, 2003*/
5926
5927 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
5928
5929 select sum(nvl(revenue_adjustment,0))
5930 into l_period_amount
5931 from pa_fin_plan_adj_lines
5932 where resource_assignment_id = l_ra_id_pl
5933 and start_date = l_start_date;
5934
5935 --Bug 4947912
5936 If l_budget_line_id is not null then
5937 pa_fp_budget_lines_pkg.
5938 Update_Row(p_budget_line_id =>l_budget_line_id,
5939 p_revenue_adj => l_period_amount,
5940 x_return_status =>l_return_status);
5941 End if;
5942
5943 End IF;
5944
5945 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
5946
5947 select sum(nvl(burdened_cost_adjustment,0))
5948 into l_period_amount
5949 from pa_fin_plan_adj_lines
5950 where resource_assignment_id = l_ra_id_pl
5951 and start_date = l_start_date;
5952
5953 --Bug 4947912
5954 If l_budget_line_id is not null then
5955 pa_fp_budget_lines_pkg.
5956 Update_Row(p_budget_line_id =>l_budget_line_id,
5957 p_cost_adj => l_period_amount,
5958 x_return_status =>l_return_status);
5959 End if;
5960 End IF;
5961
5962 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
5963
5964 select sum(nvl(head_count_adjustment,0))
5965 into l_period_amount
5966 from pa_fin_plan_adj_lines
5967 where resource_assignment_id = l_ra_id_pl
5968 and start_date = l_start_date;
5969
5970 --Bug 4947912
5971 If l_budget_line_id is not null then
5972 pa_fp_budget_lines_pkg.
5973 Update_Row(p_budget_line_id =>l_budget_line_id,
5974 p_head_count_adj => l_period_amount,
5975 x_return_status =>l_return_status);
5976 End if;
5977 End IF;
5978
5979 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
5980
5981 select sum(nvl(utilization_adjustment,0))
5982 into l_period_amount
5983 from pa_fin_plan_adj_lines
5984 where resource_assignment_id = l_ra_id_pl
5985 and start_date = l_start_date;
5986
5987 --Bug 4947912
5988 If l_budget_line_id is not null then
5989 pa_fp_budget_lines_pkg.
5990 Update_Row(p_budget_line_id =>l_budget_line_id,
5991 p_utilization_adj => l_period_amount,
5992 x_return_status =>l_return_status);
5993 End if;
5994 End IF;
5995
5996 l_denorm_amount9_pl:=l_period_amount;
5997
5998 end if;
5999 /* for Period 10 */
6000
6001 if l_period_name10 is not null then
6002
6003 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE10;
6004 /* Bug fix 2891111*/
6005 /* April 07, 2003*/
6006 --Bug 4947912
6007 Begin
6008 select budget_line_id
6009 into l_budget_line_id
6010 from pa_budget_lines
6011 where resource_assignment_id = l_ra_id_pl
6012 and start_date = l_start_date
6013 and txn_currency_code = p_currency_code;
6014 Exception
6015 When NO_DATA_FOUND then
6016 l_budget_line_id := NULL;
6017 End;
6018 /* Bug fix 2891111*/
6019 /* April 07, 2003*/
6020
6021
6022 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6023
6024 select sum(nvl(revenue_adjustment,0))
6025 into l_period_amount
6026 from pa_fin_plan_adj_lines
6027 where resource_assignment_id = l_ra_id_pl
6028 and start_date = l_start_date;
6029
6030 --Bug 4947912
6031 If l_budget_line_id is not null then
6032 pa_fp_budget_lines_pkg.
6033 Update_Row(p_budget_line_id =>l_budget_line_id,
6034 p_revenue_adj => l_period_amount,
6035 x_return_status =>l_return_status);
6036 End if;
6037
6038 End IF;
6039
6040 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6041
6042 select sum(nvl(burdened_cost_adjustment,0))
6043 into l_period_amount
6044 from pa_fin_plan_adj_lines
6045 where resource_assignment_id = l_ra_id_pl
6046 and start_date = l_start_date;
6047
6048 --Bug 4947912
6049 If l_budget_line_id is not null then
6050 pa_fp_budget_lines_pkg.
6051 Update_Row(p_budget_line_id =>l_budget_line_id,
6052 p_cost_adj => l_period_amount,
6053 x_return_status =>l_return_status);
6054 End if;
6055 End IF;
6056
6057 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6058
6059 select sum(nvl(head_count_adjustment,0))
6060 into l_period_amount
6061 from pa_fin_plan_adj_lines
6062 where resource_assignment_id = l_ra_id_pl
6063 and start_date = l_start_date;
6064
6065 --Bug 4947912
6066 If l_budget_line_id is not null then
6067 pa_fp_budget_lines_pkg.
6068 Update_Row(p_budget_line_id =>l_budget_line_id,
6069 p_head_count_adj => l_period_amount,
6070 x_return_status =>l_return_status);
6071 End if;
6072 End IF;
6073
6074 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6075
6076 select sum(nvl(utilization_adjustment,0))
6077 into l_period_amount
6078 from pa_fin_plan_adj_lines
6079 where resource_assignment_id = l_ra_id_pl
6080 and start_date = l_start_date;
6081
6082 --Bug 4947912
6083 If l_budget_line_id is not null then
6084 pa_fp_budget_lines_pkg.
6085 Update_Row(p_budget_line_id =>l_budget_line_id,
6086 p_utilization_adj => l_period_amount,
6087 x_return_status =>l_return_status);
6088 End if;
6089 End IF;
6090
6091
6092 l_denorm_amount10_pl:=l_period_amount;
6093
6094 end if;
6095 /* for period 11 */
6096
6097 if l_period_name11 is not null then
6098
6099 /*for l_ra_id_pl project level resource_assignment_id*/
6100
6101 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE11;
6102 /* Bug fix 2891111*/
6103 /* April 07, 2003*/
6104 --Bug 4947912
6105 Begin
6106 select budget_line_id
6107 into l_budget_line_id
6108 from pa_budget_lines
6109 where resource_assignment_id = l_ra_id_pl
6110 and start_date = l_start_date
6111 and txn_currency_code = p_currency_code;
6112 Exception
6113 When NO_DATA_FOUND Then
6114 l_budget_line_id := NULL;
6115 End;
6116 /* Bug fix 2891111*/
6117 /* April 07, 2003*/
6118
6119
6120 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6121
6122 select sum(nvl(revenue_adjustment,0))
6123 into l_period_amount
6124 from pa_fin_plan_adj_lines
6125 where resource_assignment_id = l_ra_id_pl
6126 and start_date = l_start_date;
6127 --Bug 4947912
6128 If l_budget_line_id is not null then
6129 pa_fp_budget_lines_pkg.
6130 Update_Row(p_budget_line_id =>l_budget_line_id,
6131 p_revenue_adj => l_period_amount,
6132 x_return_status =>l_return_status);
6133 End if;
6134
6135 End IF;
6136
6137 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6138
6139 select sum(nvl(burdened_cost_adjustment,0))
6140 into l_period_amount
6141 from pa_fin_plan_adj_lines
6142 where resource_assignment_id = l_ra_id_pl
6143 and start_date = l_start_date;
6144
6145 --Bug 4947912
6146 If l_budget_line_id is not null then
6147 pa_fp_budget_lines_pkg.
6148 Update_Row(p_budget_line_id =>l_budget_line_id,
6149 p_cost_adj => l_period_amount,
6150 x_return_status =>l_return_status);
6151 End if;
6152 End IF;
6153
6154 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6155
6156 select sum(nvl(head_count_adjustment,0))
6157 into l_period_amount
6158 from pa_fin_plan_adj_lines
6159 where resource_assignment_id = l_ra_id_pl
6160 and start_date = l_start_date;
6161
6162 --Bug 4947912
6163 If l_budget_line_id is not null then
6164 pa_fp_budget_lines_pkg.
6165 Update_Row(p_budget_line_id =>l_budget_line_id,
6166 p_head_count_adj => l_period_amount,
6167 x_return_status =>l_return_status);
6168 End if;
6169 End IF;
6170
6171 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6172
6173 select sum(nvl(utilization_adjustment,0))
6174 into l_period_amount
6175 from pa_fin_plan_adj_lines
6176 where resource_assignment_id = l_ra_id_pl
6177 and start_date = l_start_date;
6178
6179 --Bug 4947912
6180 If l_budget_line_id is not null then
6181 pa_fp_budget_lines_pkg.
6182 Update_Row(p_budget_line_id =>l_budget_line_id,
6183 p_utilization_adj => l_period_amount,
6184 x_return_status =>l_return_status);
6185 End if;
6186 End IF;
6187
6188 l_denorm_amount11_pl:=l_period_amount;
6189
6190 end if;
6191 /* for period 12 */
6192
6193 if l_period_name12 is not null then
6194
6195 /*for l_ra_id_pl project level resource_assignment_id*/
6196
6197 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE12;
6198 /* Bug fix 2891111*/
6199 /* April 07, 2003*/
6200 --Bug 4947912
6201 Begin
6202 select budget_line_id
6203 into l_budget_line_id
6204 from pa_budget_lines
6205 where resource_assignment_id = l_ra_id_pl
6206 and start_date = l_start_date
6207 and txn_currency_code = p_currency_code;
6208 Exception
6209 When NO_DATA_FOUND then
6210 l_budget_line_id := NULL;
6211 End;
6212 /* Bug fix 2891111*/
6213 /* April 07, 2003*/
6214
6215
6216 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6217
6218 select sum(nvl(revenue_adjustment,0))
6219 into l_period_amount
6220 from pa_fin_plan_adj_lines
6221 where resource_assignment_id = l_ra_id_pl
6222 and start_date = l_start_date;
6223
6224 --Bug 4947912
6225 If l_budget_line_id is not null then
6226 pa_fp_budget_lines_pkg.
6227 Update_Row(p_budget_line_id =>l_budget_line_id,
6228 p_revenue_adj => l_period_amount,
6229 x_return_status =>l_return_status);
6230 End if;
6231
6232 End IF;
6233
6234 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6235
6236 select sum(nvl(burdened_cost_adjustment,0))
6237 into l_period_amount
6238 from pa_fin_plan_adj_lines
6239 where resource_assignment_id = l_ra_id_pl
6240 and start_date = l_start_date;
6241
6242 --Bug 4947912
6243 If l_budget_line_id is not null then
6244 pa_fp_budget_lines_pkg.
6245 Update_Row(p_budget_line_id =>l_budget_line_id,
6246 p_cost_adj => l_period_amount,
6247 x_return_status =>l_return_status);
6248 End if;
6249 End IF;
6250
6251 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6252
6253 select sum(nvl(head_count_adjustment,0))
6254 into l_period_amount
6255 from pa_fin_plan_adj_lines
6256 where resource_assignment_id = l_ra_id_pl
6257 and start_date = l_start_date;
6258
6259 --Bug 4947912
6260 If l_budget_line_id is not null then
6261 pa_fp_budget_lines_pkg.
6262 Update_Row(p_budget_line_id =>l_budget_line_id,
6263 p_head_count_adj => l_period_amount,
6264 x_return_status =>l_return_status);
6265 End if;
6266 End IF;
6267
6268 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6269
6270 select sum(nvl(utilization_adjustment,0))
6271 into l_period_amount
6272 from pa_fin_plan_adj_lines
6273 where resource_assignment_id = l_ra_id_pl
6274 and start_date = l_start_date;
6275
6276 --Bug 4947912
6277 If l_budget_line_id is not null then
6278 pa_fp_budget_lines_pkg.
6279 Update_Row(p_budget_line_id =>l_budget_line_id,
6280 p_utilization_adj => l_period_amount,
6281 x_return_status =>l_return_status);
6282 End if;
6283 End IF;
6284
6285 l_denorm_amount12_pl:=l_period_amount;
6286 end if;
6287 /* for period 13*/
6288
6289 if l_period_name13 is not null then
6290
6291 /*for l_ra_id_pl project level resource_assignment_id*/
6292
6293 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE13;
6294 /* Bug fix 2891111*/
6295 /* April 07, 2003*/
6296 --Bug 4947912
6297 Begin
6298 select budget_line_id
6299 into l_budget_line_id
6300 from pa_budget_lines
6301 where resource_assignment_id = l_ra_id_pl
6302 and start_date = l_start_date
6303 and txn_currency_code = p_currency_code;
6304 Exception
6305 When NO_DATA_FOUND then
6306 l_budget_line_id := NULL;
6307 End;
6308 /* Bug fix 2891111*/
6309 /* April 07, 2003*/
6310
6311
6312 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6313
6314 select sum(nvl(revenue_adjustment,0))
6315 into l_period_amount
6316 from pa_fin_plan_adj_lines
6317 where resource_assignment_id = l_ra_id_pl
6318 and start_date = l_start_date;
6319
6320 --Bug 4947912
6321 If l_budget_line_id is not null then
6322 pa_fp_budget_lines_pkg.
6323 Update_Row(p_budget_line_id =>l_budget_line_id,
6324 p_revenue_adj => l_period_amount,
6325 x_return_status =>l_return_status);
6326 End if;
6327
6328 End IF;
6329
6330 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6331
6332 select sum(nvl(burdened_cost_adjustment,0))
6333 into l_period_amount
6334 from pa_fin_plan_adj_lines
6335 where resource_assignment_id = l_ra_id_pl
6336 and start_date = l_start_date;
6337
6338 --Bug 4947912
6339 If l_budget_line_id is not null then
6340 pa_fp_budget_lines_pkg.
6341 Update_Row(p_budget_line_id =>l_budget_line_id,
6342 p_cost_adj => l_period_amount,
6343 x_return_status =>l_return_status);
6344 End if;
6345 End IF;
6346
6347 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6348
6349 select sum(nvl(head_count_adjustment,0))
6350 into l_period_amount
6351 from pa_fin_plan_adj_lines
6352 where resource_assignment_id = l_ra_id_pl
6353 and start_date = l_start_date;
6354
6355 --Bug 4947912
6356 If l_budget_line_id is not null then
6357 pa_fp_budget_lines_pkg.
6358 Update_Row(p_budget_line_id =>l_budget_line_id,
6359 p_head_count_adj => l_period_amount,
6360 x_return_status =>l_return_status);
6361 End if;
6362 End IF;
6363
6364 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6365
6366 select sum(nvl(utilization_adjustment,0))
6367 into l_period_amount
6368 from pa_fin_plan_adj_lines
6369 where resource_assignment_id = l_ra_id_pl
6370 and start_date = l_start_date;
6371
6372 --Bug 4947912
6373 If l_budget_line_id is not null then
6374 pa_fp_budget_lines_pkg.
6375 Update_Row(p_budget_line_id =>l_budget_line_id,
6376 p_utilization_adj => l_period_amount,
6377 x_return_status =>l_return_status);
6378 End if;
6379 End IF;
6380
6381 l_denorm_amount13_pl:=l_period_amount;
6382
6383 end if;
6384 END IF;
6385 /* END IF 'PA'*/
6386
6387
6388
6389
6390 /*for l_ra_id_tl own_task level resource_assignment_id*/
6391
6392 /* for period1 */
6393
6394 if l_period_name1 is not null then
6395
6396 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE1;
6397 /* Bug fix 2891111*/
6398 /* April 07, 2003*/
6399 --Bug 4947912
6400 Begin
6401 select budget_line_id
6402 into l_budget_line_id
6403 from pa_budget_lines
6404 where resource_assignment_id = l_ra_id_tl
6405 and start_date = l_start_date
6406 and txn_currency_code = p_currency_code;
6407 Exception
6408 When NO_DATA_FOUND then
6409 l_budget_line_id := NULL;
6410 End;
6411 /* Bug fix 2891111*/
6412 /* April 07, 2003*/
6413
6414
6415 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6416
6417 select sum(nvl(revenue_adjustment,0))
6418 into l_period_amount
6419 from pa_fin_plan_adj_lines
6420 where resource_assignment_id = l_ra_id_tl
6421 and start_date = l_start_date;
6422 --Bug 4947912
6423 If l_budget_line_id is not null then
6424 pa_fp_budget_lines_pkg.
6425 Update_Row(p_budget_line_id =>l_budget_line_id,
6426 p_revenue_adj => l_period_amount,
6427 x_return_status =>l_return_status);
6428 End if;
6429
6430 End IF;
6431
6432 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6433
6434 select sum(nvl(burdened_cost_adjustment,0))
6435 into l_period_amount
6436 from pa_fin_plan_adj_lines
6437 where resource_assignment_id = l_ra_id_tl
6438 and start_date = l_start_date;
6439 --Bug 4947912
6440 If l_budget_line_id is not null then
6441 pa_fp_budget_lines_pkg.
6442 Update_Row(p_budget_line_id =>l_budget_line_id,
6443 p_cost_adj => l_period_amount,
6444 x_return_status =>l_return_status);
6445 End if;
6446 End IF;
6447
6448 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6449
6450 select sum(nvl(head_count_adjustment,0))
6451 into l_period_amount
6452 from pa_fin_plan_adj_lines
6453 where resource_assignment_id = l_ra_id_tl
6454 and start_date = l_start_date;
6455 --Bug 4947912
6456 If l_budget_line_id is not null then
6457 pa_fp_budget_lines_pkg.
6458 Update_Row(p_budget_line_id =>l_budget_line_id,
6459 p_head_count_adj => l_period_amount,
6460 x_return_status =>l_return_status);
6461 End if;
6462 End IF;
6463
6464 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6465
6466 select sum(nvl(utilization_adjustment,0))
6467 into l_period_amount
6468 from pa_fin_plan_adj_lines
6469 where resource_assignment_id = l_ra_id_tl
6470 and start_date = l_start_date;
6471 --Bug 4947912
6472 If l_budget_line_id is not null then
6473 pa_fp_budget_lines_pkg.
6474 Update_Row(p_budget_line_id =>l_budget_line_id,
6475 p_utilization_adj => l_period_amount,
6476 x_return_status =>l_return_status);
6477 End if;
6478 End IF;
6479
6480 l_denorm_amount1_tl:=l_period_amount;
6481 end if;
6482 /* for period 2 */
6483
6484 if l_period_name2 is not null then
6485
6486 /*for l_ra_id_pl project level resource_assignment_id*/
6487
6488 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE2;
6489 /* Bug fix 2891111*/
6490 /* April 07, 2003*/
6491 --Bug 4947912
6492 Begin
6493 select budget_line_id
6494 into l_budget_line_id
6495 from pa_budget_lines
6496 where resource_assignment_id = l_ra_id_tl
6497 and start_date = l_start_date
6498 and txn_currency_code = p_currency_code;
6499 Exception
6500 When NO_DATA_FOUND then
6501 l_budget_line_id := NULL;
6502 End;
6503 /* Bug fix 2891111*/
6504 /* April 07, 2003*/
6505
6506
6507 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6508
6509 select sum(nvl(revenue_adjustment,0))
6510 into l_period_amount
6511 from pa_fin_plan_adj_lines
6512 where resource_assignment_id = l_ra_id_tl
6513 and start_date = l_start_date;
6514 --Bug 4947912
6515 If l_budget_line_id is not null then
6516 pa_fp_budget_lines_pkg.
6517 Update_Row(p_budget_line_id =>l_budget_line_id,
6518 p_revenue_adj => l_period_amount,
6519 x_return_status =>l_return_status);
6520 End if;
6521
6522 End IF;
6523
6524 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6525
6526 select sum(nvl(burdened_cost_adjustment,0))
6527 into l_period_amount
6528 from pa_fin_plan_adj_lines
6529 where resource_assignment_id = l_ra_id_tl
6530 and start_date = l_start_date;
6531 --Bug 4947912
6532 If l_budget_line_id is not null then
6533 pa_fp_budget_lines_pkg.
6534 Update_Row(p_budget_line_id =>l_budget_line_id,
6535 p_cost_adj => l_period_amount,
6536 x_return_status =>l_return_status);
6537 End if;
6538 End IF;
6539
6540 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6541
6542 select sum(nvl(head_count_adjustment,0))
6543 into l_period_amount
6544 from pa_fin_plan_adj_lines
6545 where resource_assignment_id = l_ra_id_tl
6546 and start_date = l_start_date;
6547 --Bug 4947912
6548 If l_budget_line_id is not null then
6549 pa_fp_budget_lines_pkg.
6550 Update_Row(p_budget_line_id =>l_budget_line_id,
6551 p_head_count_adj => l_period_amount,
6552 x_return_status =>l_return_status);
6553 End if;
6554 End IF;
6555
6556 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6557
6558 select sum(nvl(utilization_adjustment,0))
6559 into l_period_amount
6560 from pa_fin_plan_adj_lines
6561 where resource_assignment_id = l_ra_id_tl
6562 and start_date = l_start_date;
6563 --Bug 4947912
6564 If l_budget_line_id is not null then
6565 pa_fp_budget_lines_pkg.
6566 Update_Row(p_budget_line_id =>l_budget_line_id,
6567 p_utilization_adj => l_period_amount,
6568 x_return_status =>l_return_status);
6569 End if;
6570 End IF;
6571
6572 l_denorm_amount2_tl:=l_period_amount;
6573 end if;
6574 /* for period 3 */
6575
6576 if l_period_name3 is not null then
6577
6578 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE3;
6579 /* Bug fix 2891111*/
6580 /* April 07, 2003*/
6581 --Bug 4947912
6582 Begin
6583 select budget_line_id
6584 into l_budget_line_id
6585 from pa_budget_lines
6586 where resource_assignment_id = l_ra_id_tl
6587 and start_date = l_start_date
6588 and txn_currency_code = p_currency_code;
6589 Exception
6590 When NO_DATA_FOUND then
6591 l_budget_line_id := NULL;
6592 End;
6593 /* Bug fix 2891111*/
6594 /* April 07, 2003*/
6595
6596 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6597
6598 select sum(nvl(revenue_adjustment,0))
6599 into l_period_amount
6600 from pa_fin_plan_adj_lines
6601 where resource_assignment_id = l_ra_id_tl
6602 and start_date = l_start_date;
6603 --Bug 4947912
6604 If l_budget_line_id is not null then
6605 pa_fp_budget_lines_pkg.
6606 Update_Row(p_budget_line_id =>l_budget_line_id,
6607 p_revenue_adj => l_period_amount,
6608 x_return_status =>l_return_status);
6609 End if;
6610
6611 End IF;
6612
6613 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6614
6615 select sum(nvl(burdened_cost_adjustment,0))
6616 into l_period_amount
6617 from pa_fin_plan_adj_lines
6618 where resource_assignment_id = l_ra_id_tl
6619 and start_date = l_start_date;
6620 --Bug 4947912
6621 If l_budget_line_id is not null then
6622 pa_fp_budget_lines_pkg.
6623 Update_Row(p_budget_line_id =>l_budget_line_id,
6624 p_cost_adj => l_period_amount,
6625 x_return_status =>l_return_status);
6626 End if;
6627 End IF;
6628
6629 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6630
6631 select sum(nvl(head_count_adjustment,0))
6632 into l_period_amount
6633 from pa_fin_plan_adj_lines
6634 where resource_assignment_id = l_ra_id_tl
6635 and start_date = l_start_date;
6636 --Bug 4947912
6637 If l_budget_line_id is not null then
6638 pa_fp_budget_lines_pkg.
6639 Update_Row(p_budget_line_id =>l_budget_line_id,
6640 p_head_count_adj => l_period_amount,
6641 x_return_status =>l_return_status);
6642 End if;
6643 End IF;
6644
6645 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6646
6647 select sum(nvl(utilization_adjustment,0))
6648 into l_period_amount
6649 from pa_fin_plan_adj_lines
6650 where resource_assignment_id = l_ra_id_tl
6651 and start_date = l_start_date;
6652 --Bug 4947912
6653 If l_budget_line_id is not null then
6654 pa_fp_budget_lines_pkg.
6655 Update_Row(p_budget_line_id =>l_budget_line_id,
6656 p_utilization_adj => l_period_amount,
6657 x_return_status =>l_return_status);
6658 End if;
6659 End IF;
6660
6661 l_denorm_amount3_tl:=l_period_amount;
6662 end if;
6663 /* for Period 4 */
6664
6665 if l_period_name4 is not null then
6666
6667 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE4;
6668 /* Bug fix 2891111*/
6669 /* April 07, 2003*/
6670 --Bug 4947912
6671 Begin
6672 select budget_line_id
6673 into l_budget_line_id
6674 from pa_budget_lines
6675 where resource_assignment_id = l_ra_id_tl
6676 and start_date = l_start_date
6677 and txn_currency_code = p_currency_code;
6678 Exception
6679 When NO_DATA_FOUND then
6680 l_budget_line_id := NULL;
6681 End;
6682 /* Bug fix 2891111*/
6683 /* April 07, 2003*/
6684
6685
6686 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6687
6688 select sum(nvl(revenue_adjustment,0))
6689 into l_period_amount
6690 from pa_fin_plan_adj_lines
6691 where resource_assignment_id = l_ra_id_tl
6692 and start_date = l_start_date;
6693 --Bug 4947912
6694 If l_budget_line_id is not null then
6695 pa_fp_budget_lines_pkg.
6696 Update_Row(p_budget_line_id =>l_budget_line_id,
6697 p_revenue_adj => l_period_amount,
6698 x_return_status =>l_return_status);
6699 End if;
6700
6701 End IF;
6702
6703 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6704
6705 select sum(nvl(burdened_cost_adjustment,0))
6706 into l_period_amount
6707 from pa_fin_plan_adj_lines
6708 where resource_assignment_id = l_ra_id_tl
6709 and start_date = l_start_date;
6710 --Bug 4947912
6711 If l_budget_line_id is not null then
6712 pa_fp_budget_lines_pkg.
6713 Update_Row(p_budget_line_id =>l_budget_line_id,
6714 p_cost_adj => l_period_amount,
6715 x_return_status =>l_return_status);
6716 End if;
6717 End IF;
6718
6719 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6720
6721 select sum(nvl(head_count_adjustment,0))
6722 into l_period_amount
6723 from pa_fin_plan_adj_lines
6724 where resource_assignment_id = l_ra_id_tl
6725 and start_date = l_start_date;
6726 --Bug 4947912
6727 If l_budget_line_id is not null then
6728 pa_fp_budget_lines_pkg.
6729 Update_Row(p_budget_line_id =>l_budget_line_id,
6730 p_head_count_adj => l_period_amount,
6731 x_return_status =>l_return_status);
6732 End if;
6733 End IF;
6734
6735 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6736
6737 select sum(nvl(utilization_adjustment,0))
6738 into l_period_amount
6739 from pa_fin_plan_adj_lines
6740 where resource_assignment_id = l_ra_id_tl
6741 and start_date = l_start_date;
6742 --Bug 4947912
6743 If l_budget_line_id is not null then
6744 pa_fp_budget_lines_pkg.
6745 Update_Row(p_budget_line_id =>l_budget_line_id,
6746 p_utilization_adj => l_period_amount,
6747 x_return_status =>l_return_status);
6748 End if;
6749 End IF;
6750
6751 l_denorm_amount4_tl:=l_period_amount;
6752 end if;
6753 /* for period 5 */
6754
6755 if l_period_name5 is not null then
6756
6757 /*for l_ra_id_pl project level resource_assignment_id*/
6758
6759 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE5;
6760
6761 /* Bug fix 2891111*/
6762 /* April 07, 2003*/
6763 --Bug 4947912
6764 Begin
6765 select budget_line_id
6766 into l_budget_line_id
6767 from pa_budget_lines
6768 where resource_assignment_id = l_ra_id_tl
6769 and start_date = l_start_date
6770 and txn_currency_code = p_currency_code;
6771 Exception
6772 When NO_DATA_FOUND then
6773 l_budget_line_id := NULL;
6774 End;
6775 /* Bug fix 2891111*/
6776 /* April 07, 2003*/
6777
6778 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6779
6780 select sum(nvl(revenue_adjustment,0))
6781 into l_period_amount
6782 from pa_fin_plan_adj_lines
6783 where resource_assignment_id = l_ra_id_tl
6784 and start_date = l_start_date;
6785 --Bug 4947912
6786 If l_budget_line_id is not null then
6787 pa_fp_budget_lines_pkg.
6788 Update_Row(p_budget_line_id =>l_budget_line_id,
6789 p_revenue_adj => l_period_amount,
6790 x_return_status =>l_return_status);
6791 End if;
6792
6793 End IF;
6794
6795 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6796
6797 select sum(nvl(burdened_cost_adjustment,0))
6798 into l_period_amount
6799 from pa_fin_plan_adj_lines
6800 where resource_assignment_id = l_ra_id_tl
6801 and start_date = l_start_date;
6802 --Bug 4947912
6803 If l_budget_line_id is not null then
6804 pa_fp_budget_lines_pkg.
6805 Update_Row(p_budget_line_id =>l_budget_line_id,
6806 p_cost_adj => l_period_amount,
6807 x_return_status =>l_return_status);
6808 End if;
6809 End IF;
6810
6811 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6812
6813 select sum(nvl(head_count_adjustment,0))
6814 into l_period_amount
6815 from pa_fin_plan_adj_lines
6816 where resource_assignment_id = l_ra_id_tl
6817 and start_date = l_start_date;
6818 --Bug 4947912
6819 If l_budget_line_id is not null then
6820 pa_fp_budget_lines_pkg.
6821 Update_Row(p_budget_line_id =>l_budget_line_id,
6822 p_head_count_adj => l_period_amount,
6823 x_return_status =>l_return_status);
6824 End if;
6825 End IF;
6826
6827 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6828
6829 select sum(nvl(utilization_adjustment,0))
6830 into l_period_amount
6831 from pa_fin_plan_adj_lines
6832 where resource_assignment_id = l_ra_id_tl
6833 and start_date = l_start_date;
6834 --Bug 4947912
6835 If l_budget_line_id is not null then
6836 pa_fp_budget_lines_pkg.
6837 Update_Row(p_budget_line_id =>l_budget_line_id,
6838 p_utilization_adj => l_period_amount,
6839 x_return_status =>l_return_status);
6840 End if;
6841 End IF;
6842
6843 l_denorm_amount5_tl:=l_period_amount;
6844 end if;
6845 /* for period 6 */
6846
6847 if l_period_name6 is not null then
6848
6849 /*for l_ra_id_pl project level resource_assignment_id*/
6850
6851 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE6;
6852 /* Bug fix 2891111*/
6853 /* April 07, 2003*/
6854 --Bug 4947912
6855 Begin
6856 select budget_line_id
6857 into l_budget_line_id
6858 from pa_budget_lines
6859 where resource_assignment_id = l_ra_id_tl
6860 and start_date = l_start_date
6861 and txn_currency_code = p_currency_code;
6862 Exception
6863 When NO_DATA_FOUND then
6864 l_budget_line_id := NULL;
6865 End;
6866 /* Bug fix 2891111*/
6867 /* April 07, 2003*/
6868
6869
6870 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6871
6872 select sum(nvl(revenue_adjustment,0))
6873 into l_period_amount
6874 from pa_fin_plan_adj_lines
6875 where resource_assignment_id = l_ra_id_tl
6876 and start_date = l_start_date;
6877 --Bug 4947912
6878 If l_budget_line_id is not null then
6879 pa_fp_budget_lines_pkg.
6880 Update_Row(p_budget_line_id =>l_budget_line_id,
6881 p_revenue_adj => l_period_amount,
6882 x_return_status =>l_return_status);
6883 End if;
6884
6885 End IF;
6886
6887 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6888
6889 select sum(nvl(burdened_cost_adjustment,0))
6890 into l_period_amount
6891 from pa_fin_plan_adj_lines
6892 where resource_assignment_id = l_ra_id_tl
6893 and start_date = l_start_date;
6894 --Bug 4947912
6895 If l_budget_line_id is not null then
6896 pa_fp_budget_lines_pkg.
6897 Update_Row(p_budget_line_id =>l_budget_line_id,
6898 p_cost_adj => l_period_amount,
6899 x_return_status =>l_return_status);
6900 End if;
6901 End IF;
6902
6903 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6904
6905 select sum(nvl(head_count_adjustment,0))
6906 into l_period_amount
6907 from pa_fin_plan_adj_lines
6908 where resource_assignment_id = l_ra_id_tl
6909 and start_date = l_start_date;
6910 --Bug 4947912
6911 If l_budget_line_id is not null then
6912 pa_fp_budget_lines_pkg.
6913 Update_Row(p_budget_line_id =>l_budget_line_id,
6914 p_head_count_adj => l_period_amount,
6915 x_return_status =>l_return_status);
6916 End if;
6917 End IF;
6918
6919 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
6920
6921 select sum(nvl(utilization_adjustment,0))
6922 into l_period_amount
6923 from pa_fin_plan_adj_lines
6924 where resource_assignment_id = l_ra_id_tl
6925 and start_date = l_start_date;
6926 --Bug 4947912
6927 If l_budget_line_id is not null then
6928 pa_fp_budget_lines_pkg.
6929 Update_Row(p_budget_line_id =>l_budget_line_id,
6930 p_utilization_adj => l_period_amount,
6931 x_return_status =>l_return_status);
6932 End if;
6933 End IF;
6934
6935 l_denorm_amount6_tl:=l_period_amount;
6936 end if;
6937 IF p_period_type = 'PA' THEN
6938
6939
6940 /* for period 7 */
6941
6942 if l_period_name7 is not null then
6943 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE7;
6944 /* Bug fix 2891111*/
6945 /* April 07, 2003*/
6946 --Bug 4947912
6947 Begin
6948 select budget_line_id
6949 into l_budget_line_id
6950 from pa_budget_lines
6951 where resource_assignment_id = l_ra_id_tl
6952 and start_date = l_start_date
6953 and txn_currency_code = p_currency_code;
6954 Exception
6955 When NO_DATA_FOUND Then
6956 l_budget_line_id := NULL;
6957 End;
6958 /* Bug fix 2891111*/
6959 /* April 07, 2003*/
6960
6961
6962 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
6963
6964 select sum(nvl(revenue_adjustment,0))
6965 into l_period_amount
6966 from pa_fin_plan_adj_lines
6967 where resource_assignment_id = l_ra_id_tl
6968 and start_date = l_start_date;
6969 --Bug 4947912
6970 If l_budget_line_id is not null then
6971 pa_fp_budget_lines_pkg.
6972 Update_Row(p_budget_line_id =>l_budget_line_id,
6973 p_revenue_adj => l_period_amount,
6974 x_return_status =>l_return_status);
6975 End if;
6976
6977 End IF;
6978
6979 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
6980
6981 select sum(nvl(burdened_cost_adjustment,0))
6982 into l_period_amount
6983 from pa_fin_plan_adj_lines
6984 where resource_assignment_id = l_ra_id_tl
6985 and start_date = l_start_date;
6986 --Bug 4947912
6987 If l_budget_line_id is not null then
6988 pa_fp_budget_lines_pkg.
6989 Update_Row(p_budget_line_id =>l_budget_line_id,
6990 p_cost_adj => l_period_amount,
6991 x_return_status =>l_return_status);
6992 End if;
6993 End IF;
6994
6995 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
6996
6997 select sum(nvl(head_count_adjustment,0))
6998 into l_period_amount
6999 from pa_fin_plan_adj_lines
7000 where resource_assignment_id = l_ra_id_tl
7001 and start_date = l_start_date;
7002 --Bug 4947912
7003 If l_budget_line_id is not null then
7004 pa_fp_budget_lines_pkg.
7005 Update_Row(p_budget_line_id =>l_budget_line_id,
7006 p_head_count_adj => l_period_amount,
7007 x_return_status =>l_return_status);
7008 End if;
7009 End IF;
7010
7011 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
7012
7013 select sum(nvl(utilization_adjustment,0))
7014 into l_period_amount
7015 from pa_fin_plan_adj_lines
7016 where resource_assignment_id = l_ra_id_tl
7017 and start_date = l_start_date;
7018 --Bug 4947912
7019 If l_budget_line_id is not null then
7020 pa_fp_budget_lines_pkg.
7021 Update_Row(p_budget_line_id =>l_budget_line_id,
7022 p_utilization_adj => l_period_amount,
7023 x_return_status =>l_return_status);
7024 End if;
7025 End IF;
7026
7027 l_denorm_amount7_tl:=l_period_amount;
7028 end if;
7029 /* for period 8 */
7030
7031 if l_period_name8 is not null then
7032
7033 /*for l_ra_id_pl project level resource_assignment_id*/
7034
7035 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE8;
7036 /* Bug fix 2891111*/
7037 /* April 07, 2003*/
7038 --Bug 4947912
7039 Begin
7040 select budget_line_id
7041 into l_budget_line_id
7042 from pa_budget_lines
7043 where resource_assignment_id = l_ra_id_tl
7044 and start_date = l_start_date
7045 and txn_currency_code = p_currency_code;
7046 Exception
7047 When NO_DATA_FOUND then
7048 l_budget_line_id := NULL;
7049 End;
7050 /* Bug fix 2891111*/
7051 /* April 07, 2003*/
7052
7053
7054 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
7055
7056 select sum(nvl(revenue_adjustment,0))
7057 into l_period_amount
7058 from pa_fin_plan_adj_lines
7059 where resource_assignment_id = l_ra_id_tl
7060 and start_date = l_start_date;
7061 --Bug 4947912
7062 If l_budget_line_id is not null then
7063 pa_fp_budget_lines_pkg.
7064 Update_Row(p_budget_line_id =>l_budget_line_id,
7065 p_revenue_adj => l_period_amount,
7066 x_return_status =>l_return_status);
7067 End if;
7068
7069 End IF;
7070
7071 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
7072
7073 select sum(nvl(burdened_cost_adjustment,0))
7074 into l_period_amount
7075 from pa_fin_plan_adj_lines
7076 where resource_assignment_id = l_ra_id_tl
7077 and start_date = l_start_date;
7078 --Bug 4947912
7079 If l_budget_line_id is not null then
7080 pa_fp_budget_lines_pkg.
7081 Update_Row(p_budget_line_id =>l_budget_line_id,
7082 p_cost_adj => l_period_amount,
7083 x_return_status =>l_return_status);
7084 End if;
7085 End IF;
7086
7087 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
7088
7089 select sum(nvl(head_count_adjustment,0))
7090 into l_period_amount
7091 from pa_fin_plan_adj_lines
7092 where resource_assignment_id = l_ra_id_tl
7093 and start_date = l_start_date;
7094 --Bug 4947912
7095 If l_budget_line_id is not null then
7096 pa_fp_budget_lines_pkg.
7097 Update_Row(p_budget_line_id =>l_budget_line_id,
7098 p_head_count_adj => l_period_amount,
7099 x_return_status =>l_return_status);
7100 End if;
7101 End IF;
7102
7103 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
7104
7105 select sum(nvl(utilization_adjustment,0))
7106 into l_period_amount
7107 from pa_fin_plan_adj_lines
7108 where resource_assignment_id = l_ra_id_tl
7109 and start_date = l_start_date;
7110 --Bug 4947912
7111 If l_budget_line_id is not null then
7112 pa_fp_budget_lines_pkg.
7113 Update_Row(p_budget_line_id =>l_budget_line_id,
7114 p_utilization_adj => l_period_amount,
7115 x_return_status =>l_return_status);
7116 End if;
7117 End IF;
7118
7119 l_denorm_amount8_tl:=l_period_amount;
7120 end if;
7121 /* for period 9 */
7122
7123 if l_period_name9 is not null then
7124
7125 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE9;
7126 /* Bug fix 2891111*/
7127 /* April 07, 2003*/
7128 --Bug 4947912
7129 Begin
7130 select budget_line_id
7131 into l_budget_line_id
7132 from pa_budget_lines
7133 where resource_assignment_id = l_ra_id_tl
7134 and start_date = l_start_date
7135 and txn_currency_code = p_currency_code;
7136 Exception
7137 When NO_DATA_FOUND then
7138 l_budget_line_id := NULL;
7139 End;
7140 /* Bug fix 2891111*/
7141 /* April 07, 2003*/
7142
7143 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
7144
7145 select sum(nvl(revenue_adjustment,0))
7146 into l_period_amount
7147 from pa_fin_plan_adj_lines
7148 where resource_assignment_id = l_ra_id_tl
7149 and start_date = l_start_date;
7150 --Bug 4947912
7151 If l_budget_line_id is not null then
7152 pa_fp_budget_lines_pkg.
7153 Update_Row(p_budget_line_id =>l_budget_line_id,
7154 p_revenue_adj => l_period_amount,
7155 x_return_status =>l_return_status);
7156 End if;
7157
7158 End IF;
7159
7160 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
7161
7162 select sum(nvl(burdened_cost_adjustment,0))
7163 into l_period_amount
7164 from pa_fin_plan_adj_lines
7165 where resource_assignment_id = l_ra_id_tl
7166 and start_date = l_start_date;
7167 --Bug 4947912
7168 If l_budget_line_id is not null then
7169 pa_fp_budget_lines_pkg.
7170 Update_Row(p_budget_line_id =>l_budget_line_id,
7171 p_cost_adj => l_period_amount,
7172 x_return_status =>l_return_status);
7173 End if;
7174 End IF;
7175
7176 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
7177
7178 select sum(nvl(head_count_adjustment,0))
7179 into l_period_amount
7180 from pa_fin_plan_adj_lines
7181 where resource_assignment_id = l_ra_id_tl
7182 and start_date = l_start_date;
7183 --Bug 4947912
7184 If l_budget_line_id is not null then
7185 pa_fp_budget_lines_pkg.
7186 Update_Row(p_budget_line_id =>l_budget_line_id,
7187 p_head_count_adj => l_period_amount,
7188 x_return_status =>l_return_status);
7189 End if;
7190 End IF;
7191
7192 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
7193
7194 select sum(nvl(utilization_adjustment,0))
7195 into l_period_amount
7196 from pa_fin_plan_adj_lines
7197 where resource_assignment_id = l_ra_id_tl
7198 and start_date = l_start_date;
7199 --Bug 4947912
7200 If l_budget_line_id is not null then
7201 pa_fp_budget_lines_pkg.
7202 Update_Row(p_budget_line_id =>l_budget_line_id,
7203 p_utilization_adj => l_period_amount,
7204 x_return_status =>l_return_status);
7205 End if;
7206 End IF;
7207
7208 l_denorm_amount9_tl:=l_period_amount;
7209 end if;
7210 /* for Period 10 */
7211
7212 if l_period_name10 is not null then
7213
7214 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE10;
7215 /* Bug fix 2891111*/
7216 /* April 07, 2003*/
7217 --Bug 4947912
7218 Begin
7219 select budget_line_id
7220 into l_budget_line_id
7221 from pa_budget_lines
7222 where resource_assignment_id = l_ra_id_tl
7223 and start_date = l_start_date
7224 and txn_currency_code = p_currency_code;
7225 Exception
7226 When NO_DATA_FOUND then
7227 l_budget_line_id := NULL;
7228 End;
7229 /* Bug fix 2891111*/
7230 /* April 07, 2003*/
7231
7232
7233 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
7234
7235 select sum(nvl(revenue_adjustment,0))
7236 into l_period_amount
7237 from pa_fin_plan_adj_lines
7238 where resource_assignment_id = l_ra_id_tl
7239 and start_date = l_start_date;
7240 --Bug 4947912
7241 If l_budget_line_id is not null then
7242 pa_fp_budget_lines_pkg.
7243 Update_Row(p_budget_line_id =>l_budget_line_id,
7244 p_revenue_adj => l_period_amount,
7245 x_return_status =>l_return_status);
7246 End if;
7247
7248 End IF;
7249
7250 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
7251
7252 select sum(nvl(burdened_cost_adjustment,0))
7253 into l_period_amount
7254 from pa_fin_plan_adj_lines
7255 where resource_assignment_id = l_ra_id_tl
7256 and start_date = l_start_date;
7257 --Bug 4947912
7258 If l_budget_line_id is not null then
7259 pa_fp_budget_lines_pkg.
7260 Update_Row(p_budget_line_id =>l_budget_line_id,
7261 p_cost_adj => l_period_amount,
7262 x_return_status =>l_return_status);
7263 End if;
7264 End IF;
7265
7266 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
7267
7268 select sum(nvl(head_count_adjustment,0))
7269 into l_period_amount
7270 from pa_fin_plan_adj_lines
7271 where resource_assignment_id = l_ra_id_tl
7272 and start_date = l_start_date;
7273 --Bug 4947912
7274 If l_budget_line_id is not null then
7275 pa_fp_budget_lines_pkg.
7276 Update_Row(p_budget_line_id =>l_budget_line_id,
7277 p_head_count_adj => l_period_amount,
7278 x_return_status =>l_return_status);
7279 End if;
7280 End IF;
7281
7282 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
7283
7284 select sum(nvl(utilization_adjustment,0))
7285 into l_period_amount
7286 from pa_fin_plan_adj_lines
7287 where resource_assignment_id = l_ra_id_tl
7288 and start_date = l_start_date;
7289 --Bug 4947912
7290 If l_budget_line_id is not null then
7291 pa_fp_budget_lines_pkg.
7292 Update_Row(p_budget_line_id =>l_budget_line_id,
7293 p_utilization_adj => l_period_amount,
7294 x_return_status =>l_return_status);
7295 End if;
7296 End IF;
7297
7298 l_denorm_amount10_tl:=l_period_amount;
7299 end if;
7300 /* for period 11 */
7301
7302 if l_period_name11 is not null then
7303
7304 /*for l_ra_id_pl project level resource_assignment_id*/
7305
7306 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE11;
7307 /* Bug fix 2891111*/
7308 /* April 07, 2003*/
7309 --Bug 4947912
7310 Begin
7311 select budget_line_id
7312 into l_budget_line_id
7313 from pa_budget_lines
7314 where resource_assignment_id = l_ra_id_tl
7315 and start_date = l_start_date
7316 and txn_currency_code = p_currency_code;
7317 Exception
7318 When NO_DATA_FOUND THEN
7319 l_budget_line_id := NULL;
7320 End;
7321 /* Bug fix 2891111*/
7322 /* April 07, 2003*/
7323
7324
7325 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
7326
7327 select sum(nvl(revenue_adjustment,0))
7328 into l_period_amount
7329 from pa_fin_plan_adj_lines
7330 where resource_assignment_id = l_ra_id_tl
7331 and start_date = l_start_date;
7332 --Bug 4947912
7333 If l_budget_line_id is not null then
7334 pa_fp_budget_lines_pkg.
7335 Update_Row(p_budget_line_id =>l_budget_line_id,
7336 p_revenue_adj => l_period_amount,
7337 x_return_status =>l_return_status);
7338 End if;
7339
7340
7341 End IF;
7342
7343 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
7344
7345 select sum(nvl(burdened_cost_adjustment,0))
7346 into l_period_amount
7347 from pa_fin_plan_adj_lines
7348 where resource_assignment_id = l_ra_id_tl
7349 and start_date = l_start_date;
7350 --Bug 4947912
7351 If l_budget_line_id is not null then
7352 pa_fp_budget_lines_pkg.
7353 Update_Row(p_budget_line_id =>l_budget_line_id,
7354 p_cost_adj => l_period_amount,
7355 x_return_status =>l_return_status);
7356 End if;
7357 End IF;
7358
7359 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
7360
7361 select sum(nvl(head_count_adjustment,0))
7362 into l_period_amount
7363 from pa_fin_plan_adj_lines
7364 where resource_assignment_id = l_ra_id_tl
7365 and start_date = l_start_date;
7366 --Bug 4947912
7367 If l_budget_line_id is not null then
7368 pa_fp_budget_lines_pkg.
7369 Update_Row(p_budget_line_id =>l_budget_line_id,
7370 p_head_count_adj => l_period_amount,
7371 x_return_status =>l_return_status);
7372 End if;
7373 End IF;
7374
7375 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
7376
7377 select sum(nvl(utilization_adjustment,0))
7378 into l_period_amount
7379 from pa_fin_plan_adj_lines
7380 where resource_assignment_id = l_ra_id_tl
7381 and start_date = l_start_date;
7382 --Bug 4947912
7383 If l_budget_line_id is not null then
7384 pa_fp_budget_lines_pkg.
7385 Update_Row(p_budget_line_id =>l_budget_line_id,
7386 p_utilization_adj => l_period_amount,
7387 x_return_status =>l_return_status);
7388 End if;
7389 End IF;
7390
7391 l_denorm_amount11_tl:=l_period_amount;
7392 end if;
7393 /* for period 12 */
7394
7395 if l_period_name12 is not null then
7396
7397 /*for l_ra_id_pl project level resource_assignment_id*/
7398
7399 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE12;
7400 /* Bug fix 2891111*/
7401 /* April 07, 2003*/
7402 --Bug 4947912
7403 Begin
7404 select budget_line_id
7405 into l_budget_line_id
7406 from pa_budget_lines
7407 where resource_assignment_id = l_ra_id_tl
7408 and start_date = l_start_date
7409 and txn_currency_code = p_currency_code;
7410 Exception
7411 When NO_DATA_FOUND then
7412 l_budget_line_id := NULL;
7413 End;
7414 /* Bug fix 2891111*/
7415 /* April 07, 2003*/
7416
7417
7418 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
7419
7420 select sum(nvl(revenue_adjustment,0))
7421 into l_period_amount
7422 from pa_fin_plan_adj_lines
7423 where resource_assignment_id = l_ra_id_tl
7424 and start_date = l_start_date;
7425 --Bug 4947912
7426 If l_budget_line_id is not null then
7427 pa_fp_budget_lines_pkg.
7428 Update_Row(p_budget_line_id =>l_budget_line_id,
7429 p_revenue_adj => l_period_amount,
7430 x_return_status =>l_return_status);
7431 End if;
7432
7433 End IF;
7434
7435 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
7436
7437 select sum(nvl(burdened_cost_adjustment,0))
7438 into l_period_amount
7439 from pa_fin_plan_adj_lines
7440 where resource_assignment_id = l_ra_id_tl
7441 and start_date = l_start_date;
7442 --Bug 4947912
7443 If l_budget_line_id is not null then
7444 pa_fp_budget_lines_pkg.
7445 Update_Row(p_budget_line_id =>l_budget_line_id,
7446 p_cost_adj => l_period_amount,
7447 x_return_status =>l_return_status);
7448 End if;
7449 End IF;
7450
7451 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
7452
7453 select sum(nvl(head_count_adjustment,0))
7454 into l_period_amount
7455 from pa_fin_plan_adj_lines
7456 where resource_assignment_id = l_ra_id_tl
7457 and start_date = l_start_date;
7458 --Bug 4947912
7459 If l_budget_line_id is not null then
7460 pa_fp_budget_lines_pkg.
7461 Update_Row(p_budget_line_id =>l_budget_line_id,
7462 p_head_count_adj => l_period_amount,
7463 x_return_status =>l_return_status);
7464 End if;
7465 End IF;
7466
7467 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
7468
7469 select sum(nvl(utilization_adjustment,0))
7470 into l_period_amount
7471 from pa_fin_plan_adj_lines
7472 where resource_assignment_id = l_ra_id_tl
7473 and start_date = l_start_date;
7474 --Bug 4947912
7475 If l_budget_line_id is not null then
7476 pa_fp_budget_lines_pkg.
7477 Update_Row(p_budget_line_id =>l_budget_line_id,
7478 p_utilization_adj => l_period_amount,
7479 x_return_status =>l_return_status);
7480 End if;
7481 End IF;
7482
7483 l_denorm_amount12_tl:=l_period_amount;
7484 end if;
7485 /* for period 13 */
7486
7487 if l_period_name13 is not null then
7488
7489 /*for l_ra_id_pl project level resource_assignment_id*/
7490
7491 l_start_date := pa_fin_plan_view_global.G_FP_VIEW_START_DATE13;
7492 /* Bug fix 2891111*/
7493 /* April 07, 2003*/
7494 --Bug 4947912
7495 Begin
7496 select budget_line_id
7497 into l_budget_line_id
7498 from pa_budget_lines
7499 where resource_assignment_id = l_ra_id_tl
7500 and start_date = l_start_date
7501 and txn_currency_code = p_currency_code;
7502 Exception
7503 When NO_DATA_FOUND then
7504 l_budget_line_id := NULL;
7505 End;
7506 /* Bug fix 2891111*/
7507 /* April 07, 2003*/
7508
7509
7510 IF l_amount_subtype_code = 'REVENUE_ADJUSTMENTS' then
7511
7512 select sum(nvl(revenue_adjustment,0))
7513 into l_period_amount
7514 from pa_fin_plan_adj_lines
7515 where resource_assignment_id = l_ra_id_tl
7516 and start_date = l_start_date;
7517 --Bug 4947912
7518 If l_budget_line_id is not null then
7519 pa_fp_budget_lines_pkg.
7520 Update_Row(p_budget_line_id =>l_budget_line_id,
7521 p_revenue_adj => l_period_amount,
7522 x_return_status =>l_return_status);
7523 End if;
7524
7525 End IF;
7526
7527 IF l_amount_subtype_code = 'COST_ADJUSTMENTS' then
7528
7529 select sum(nvl(burdened_cost_adjustment,0))
7530 into l_period_amount
7531 from pa_fin_plan_adj_lines
7532 where resource_assignment_id = l_ra_id_tl
7533 and start_date = l_start_date;
7534 --Bug 4947912
7535 If l_budget_line_id is not null then
7536 pa_fp_budget_lines_pkg.
7537 Update_Row(p_budget_line_id =>l_budget_line_id,
7538 p_cost_adj => l_period_amount,
7539 x_return_status =>l_return_status);
7540 End if;
7541 End IF;
7542
7543 IF l_amount_subtype_code = 'HEADCOUNT_ADJUSTMENTS' then
7544
7545 select sum(nvl(head_count_adjustment,0))
7546 into l_period_amount
7547 from pa_fin_plan_adj_lines
7548 where resource_assignment_id = l_ra_id_tl
7549 and start_date = l_start_date;
7550 --Bug 4947912
7551 If l_budget_line_id is not null then
7552 pa_fp_budget_lines_pkg.
7553 Update_Row(p_budget_line_id =>l_budget_line_id,
7554 p_head_count_adj => l_period_amount,
7555 x_return_status =>l_return_status);
7556 End if;
7557 End IF;
7558
7559 IF l_amount_subtype_code = 'UTILIZATION_ADJUSTMENTS' then
7560
7561 select sum(nvl(utilization_adjustment,0))
7562 into l_period_amount
7563 from pa_fin_plan_adj_lines
7564 where resource_assignment_id = l_ra_id_tl
7565 and start_date = l_start_date;
7566 --Bug 4947912
7567 If l_budget_line_id is not null then
7568 pa_fp_budget_lines_pkg.
7569 Update_Row(p_budget_line_id =>l_budget_line_id,
7570 p_utilization_adj => l_period_amount,
7571 x_return_status =>l_return_status);
7572 End if;
7573 End IF;
7574
7575 l_denorm_amount13_tl:=l_period_amount;
7576 end if;
7577 END IF;
7578 /* END IF 'PA'*/
7579
7580
7581
7582 /****************************************************************************************/
7583 /*End of update pa_budget_lines*/
7584 /***************************************************************************************/
7585
7586
7587
7588 -- End IF;
7589 /*End IF 'GL'*/
7590
7591
7592 /****************************************************************************************/
7593 /*Begin of update pa_resource_assignments*/
7594 /***************************************************************************************/
7595
7596
7597
7598 begin
7599 /*for task level resource_assignment_id*/
7600
7601 select sum(nvl(REVENUE_ADJ,0)), sum(nvl(COST_ADJ,0)),
7602 sum(nvl(UTILIZATION_ADJ,0)),
7603 round(sum(nvl(HEAD_COUNT_ADJ,0)),0)
7604 into l_adj_rev_amount,l_adj_cost_amount,
7605 l_adj_util_amount,l_adj_hc_amount
7606 from pa_budget_lines
7607 where resource_assignment_id = l_ra_id_tl;
7608
7609
7610 PA_FP_RESOURCE_ASSIGNMENTS_PKG.
7611 update_row(
7612 p_resource_assignment_id => l_ra_id_tl,
7613 p_total_revenue_adj => l_adj_rev_amount,
7614 p_total_cost_adj => l_adj_cost_amount,
7615 p_total_utilization_adj => l_adj_util_amount,
7616 p_total_head_count_adj => l_adj_hc_amount,
7617 x_return_status => l_return_status);
7618
7619
7620 /*for project level resource_assignment_id*/
7621
7622 select sum(nvl(REVENUE_ADJ,0)), sum(nvl(COST_ADJ,0)),
7623 sum(nvl(UTILIZATION_ADJ,0)),
7624 round(sum(nvl(HEAD_COUNT_ADJ,0)),0)
7625 into l_adj_rev_amount,l_adj_cost_amount,
7626 l_adj_util_amount,l_adj_hc_amount
7627 from pa_budget_lines
7628 where resource_assignment_id = l_ra_id_pl;
7629
7630
7631 PA_FP_RESOURCE_ASSIGNMENTS_PKG.
7632 update_row(
7633 p_resource_assignment_id => l_ra_id_pl,
7634 p_total_revenue_adj => l_adj_rev_amount,
7635 p_total_cost_adj => l_adj_cost_amount,
7636 p_total_utilization_adj => l_adj_util_amount,
7637 p_total_head_count_adj => l_adj_hc_amount,
7638 x_return_status => l_return_status);
7639
7640
7641
7642
7643 end;
7644
7645
7646 /****************************************************************************************/
7647 /*End of update pa_resource_assignments*/
7648 /***************************************************************************************/
7649
7650
7651
7652 /****************************************************************************************/
7653 /*Begin of update pa_budget_versions*/
7654 /***************************************************************************************/
7655
7656
7657
7658 begin
7659 l_record_version_number := pa_fin_plan_utils.
7660 Retrieve_Record_Version_Number(l_budget_version_id);
7661
7662 pa_fin_plan_utils.Check_Record_Version_Number
7663 (p_unique_index => l_budget_version_id,
7664 p_record_version_number => l_record_version_number,
7665 x_valid_flag => l_valid_flag,
7666 x_return_status => l_return_status,
7667 x_error_msg_code => l_err_msg_code);
7668
7669
7670
7671 if l_valid_flag = 'Y' then
7672
7673 select sum(nvl(REVENUE_ADJ,0)), sum(nvl(COST_ADJ,0)),
7674 sum(nvl(UTILIZATION_ADJ,0))/l_number_of_periods,
7675 round(sum(nvl(HEAD_COUNT_ADJ,0))/l_number_of_periods,0)
7676 into l_adj_rev_amount,l_adj_cost_amount,
7677 l_adj_util_amount,l_adj_hc_amount
7678 from pa_budget_lines
7679 where resource_assignment_id = l_ra_id_pl;
7680
7681
7682 PA_FP_BUDGET_VERSIONS_PKG.
7683 update_row(
7684 p_budget_version_id => l_budget_version_id,
7685 p_total_revenue_adj => l_adj_rev_amount,
7686 p_total_cost_adj => l_adj_cost_amount,
7687 p_total_utilization_adj => l_adj_util_amount,
7688 p_total_head_count_adj => l_adj_hc_amount,
7689 x_return_status => l_return_status
7690 );
7691
7692 else
7693
7694 PA_UTILS.Add_message ( p_app_short_name => 'PA',
7695 p_msg_name => l_err_msg_code);
7696 x_return_status := FND_API.G_RET_STS_ERROR;
7697
7698
7699 end if;
7700
7701
7702 end;
7703
7704
7705
7706
7707
7708 /****************************************************************************************/
7709 /*End of update pa_budget_versions*/
7710 /***************************************************************************************/
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720 /****************************************************************************************/
7721 /*Begin of update pa_proj_periods_denorm*/
7722 /***************************************************************************************/
7723
7724 BEGIN
7725
7726
7727 select nvl(period_col_name1,'period_amount40'),
7728 nvl(period_col_name2,'period_amount41'),
7729 nvl(period_col_name3,'period_amount42'),
7730 nvl(period_col_name4,'period_amount43'),
7731 nvl(period_col_name5,'period_amount44'),
7732 nvl(period_col_name6,'period_amount45'),
7733 nvl(period_col_name7,'period_amount46'),
7734 nvl(period_col_name8,'period_amount47'),
7735 nvl(period_col_name9,'period_amount48'),
7736 nvl(period_col_name10,'period_amount49'),
7737 nvl(period_col_name11,'period_amount50'),
7738 nvl(period_col_name12,'period_amount51'),
7739 nvl(period_col_name13,'period_amount52')
7740 into colname1,colname2,colname3,colname4,colname5,colname6,
7741 colname7,colname8,colname9,colname10,colname11,colname12,colname13
7742 from pa_fp_period_col_names_v;
7743
7744
7745 select period_profile_id
7746 into l_period_profile_id
7747 from pa_budget_versions
7748 where budget_version_id = l_budget_version_id;
7749
7750 select amount_type_id
7751 into l_amount_type_id
7752 from pa_amount_types_vl
7753 where amount_type_code = l_amount_type_code;
7754
7755 select amount_type_id
7756 into l_amount_subtype_id
7757 from pa_amount_types_vl
7758 where amount_type_code = l_amount_subtype_code;
7759
7760 l_currency_code := p_currency_code;
7761 l_currency_type := 'PROJ_FUNCTIONAL';
7762 l_element_code := 'ADJ_ELEMENTS';
7763 l_res_code := 'RES_ASSIGNMENT';
7764
7765 if p_period_type = 'GL' THEN
7766
7767 /* for project level res id */
7768
7769 begin
7770
7771 select object_id
7772 into l_element_id_pl
7773 from pa_proj_periods_denorm
7774 where object_type_code = 'ADJ_ELEMENTS'
7775 and amount_type_code = l_amount_type_code
7776 and amount_subtype_code = l_amount_subtype_code
7777 and budget_version_id = l_budget_version_id
7778 and resource_assignment_id = -1
7779 and currency_code = l_currency_code
7780 and currency_type = l_currency_type
7781 and object_id = l_adj_element_id_pl;
7782
7783 l_stmt := 'update pa_proj_periods_denorm
7784 set '|| colname1|| '= :n1,'||
7785 colname2|| '= :n2,'||
7786 colname3|| '= :n3,'||
7787 colname4|| '= :n4,'||
7788 colname5|| '= :n5,'||
7789 colname6|| '= :n6
7790 where budget_version_id = :versionId
7791 and resource_assignment_id = :resId
7792 and object_id = :elementId
7793 and object_type_code = :elementCode
7794 and amount_type_code = :amountTypeCode
7795 and amount_subtype_code = :amountSubtypeCode
7796 and currency_type = :currencyType
7797 and currency_code = :currencyCode';
7798
7799 cursor_id := dbms_sql.open_cursor;
7800
7801 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
7802 dbms_sql.bind_variable(cursor_id,':n1',col1);
7803 dbms_sql.bind_variable(cursor_id,':n2',col2);
7804 dbms_sql.bind_variable(cursor_id,':n3',col3);
7805 dbms_sql.bind_variable(cursor_id,':n4',col4);
7806 dbms_sql.bind_variable(cursor_id,':n5',col5);
7807 dbms_sql.bind_variable(cursor_id,':n6',col6);
7808
7809 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
7810 dbms_sql.bind_variable(cursor_id,':resId',-1);
7811 dbms_sql.bind_variable(cursor_id,':elementId',l_element_id_pl);
7812 dbms_sql.bind_variable(cursor_id,':elementCode',l_element_code);
7813 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
7814 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
7815 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
7816 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
7817
7818
7819 l_rows_upd := dbms_sql.execute(cursor_id);
7820
7821 dbms_sql.close_cursor(cursor_id);
7822
7823 exception
7824 WHEN NO_DATA_FOUND THEN
7825
7826 l_stmt := 'insert into pa_proj_periods_denorm
7827 ( CREATION_DATE,
7828 CREATED_BY,
7829 LAST_UPDATE_LOGIN,
7830 LAST_UPDATED_BY,
7831 LAST_UPDATE_DATE,
7832 budget_version_id,
7833 project_id,
7834 resource_assignment_id,
7835 object_id,
7836 object_type_code,
7837 period_profile_id,
7838 amount_type_code,
7839 amount_subtype_code,
7840 amount_type_id,
7841 amount_subtype_id,
7842 currency_type,
7843 currency_code,'||
7844 colname1||','||
7845 colname2||','||
7846 colname3||','||
7847 colname4||','||
7848 colname5||','||
7849 colname6||')
7850 values( :creationDate,
7851 :createdBy,
7852 :lastUpdateLogin,
7853 :lastUpdatedBy,
7854 :lastUpdatedDate,
7855 :versionId,
7856 :projectId,
7857 :resId,
7858 :elementId,
7859 :elementCode,
7860 :profileId,
7861 :amountTypeCode,
7862 :amountSubtypeCode,
7863 :amountTypeId,
7864 :amountSubTypeId,
7865 :currencyType,
7866 :currencyCode,
7867 :n1,
7868 :n2,
7869 :n3,
7870 :n4,
7871 :n5,
7872 :n6 )';
7873
7874 cursor_id := dbms_sql.open_cursor;
7875
7876 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
7877
7878 dbms_sql.bind_variable(cursor_id,':creationDate',sysdate);
7879 dbms_sql.bind_variable(cursor_id,':createdBy',fnd_global.user_id);
7880 dbms_sql.bind_variable(cursor_id,':lastUpdateLogin',fnd_global.login_id);
7881 dbms_sql.bind_variable(cursor_id,':lastUpdatedBy',fnd_global.user_id);
7882 dbms_sql.bind_variable(cursor_id,':lastUpdatedDate',sysdate);
7883 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
7884 dbms_sql.bind_variable(cursor_id,':resId',-1);
7885 dbms_sql.bind_variable(cursor_id,':projectId',l_project_id);
7886 dbms_sql.bind_variable(cursor_id,':profileId',l_period_profile_id);
7887 dbms_sql.bind_variable(cursor_id,':elementId',l_adj_element_id_pl);
7888 dbms_sql.bind_variable(cursor_id,':elementCode',l_element_code);
7889 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
7890 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
7891 dbms_sql.bind_variable(cursor_id,':amountTypeId',l_amount_type_id);
7892 dbms_sql.bind_variable(cursor_id,':amountSubtypeId',l_amount_subtype_id);
7893 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
7894 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
7895 dbms_sql.bind_variable(cursor_id,':n1',col1);
7896 dbms_sql.bind_variable(cursor_id,':n2',col2);
7897 dbms_sql.bind_variable(cursor_id,':n3',col3);
7898 dbms_sql.bind_variable(cursor_id,':n4',col4);
7899 dbms_sql.bind_variable(cursor_id,':n5',col5);
7900 dbms_sql.bind_variable(cursor_id,':n6',col6);
7901
7902
7903 l_rows_upd := dbms_sql.execute(cursor_id);
7904
7905 dbms_sql.close_cursor(cursor_id);
7906
7907
7908
7909 end;
7910
7911
7912 /* for task level res id */
7913
7914 begin
7915
7916 select object_id
7917 into l_element_id_tl
7918 from pa_proj_periods_denorm
7919 where object_type_code = 'ADJ_ELEMENTS'
7920 and amount_type_code = l_amount_type_code
7921 and amount_subtype_code = l_amount_subtype_code
7922 and budget_version_id = l_budget_version_id
7923 and resource_assignment_id = -2
7924 and currency_code = l_currency_code
7925 and currency_type = l_currency_type
7926 and object_id = l_adj_element_id_tl;
7927
7928 l_stmt := 'update pa_proj_periods_denorm
7929 set '|| colname1|| '= :n1,'||
7930 colname2|| '= :n2,'||
7931 colname3|| '= :n3,'||
7932 colname4|| '= :n4,'||
7933 colname5|| '= :n5,'||
7934 colname6|| '= :n6
7935 where budget_version_id = :versionId
7936 and resource_assignment_id = :resId
7937 and object_id = :elementId
7938 and object_type_code = :elementCode
7939 and amount_type_code = :amountTypeCode
7940 and amount_subtype_code = :amountSubtypeCode
7941 and currency_type = :currencyType
7942 and currency_code = :currencyCode';
7943
7944 cursor_id := dbms_sql.open_cursor;
7945
7946 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
7947 dbms_sql.bind_variable(cursor_id,':n1',col1);
7948 dbms_sql.bind_variable(cursor_id,':n2',col2);
7949 dbms_sql.bind_variable(cursor_id,':n3',col3);
7950 dbms_sql.bind_variable(cursor_id,':n4',col4);
7951 dbms_sql.bind_variable(cursor_id,':n5',col5);
7952 dbms_sql.bind_variable(cursor_id,':n6',col6);
7953
7954 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
7955 dbms_sql.bind_variable(cursor_id,':resId',-2);
7956 dbms_sql.bind_variable(cursor_id,':elementId',l_element_id_tl);
7957 dbms_sql.bind_variable(cursor_id,':elementCode',l_element_code);
7958 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
7959 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
7960 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
7961 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
7962
7963
7964 l_rows_upd := dbms_sql.execute(cursor_id);
7965
7966 dbms_sql.close_cursor(cursor_id);
7967
7968 exception
7969 WHEN NO_DATA_FOUND THEN
7970
7971 l_stmt := 'insert into pa_proj_periods_denorm
7972 ( CREATION_DATE,
7973 CREATED_BY,
7974 LAST_UPDATE_LOGIN,
7975 LAST_UPDATED_BY,
7976 LAST_UPDATE_DATE,
7977 budget_version_id,
7978 project_id,
7979 resource_assignment_id,
7980 object_id,
7981 object_type_code,
7982 period_profile_id,
7983 amount_type_code,
7984 amount_subtype_code,
7985 amount_type_id,
7986 amount_subtype_id,
7987 currency_type,
7988 currency_code,'||
7989 colname1||','||
7990 colname2||','||
7991 colname3||','||
7992 colname4||','||
7993 colname5||','||
7994 colname6||')
7995 values( :creationDate,
7996 :createdBy,
7997 :lastUpdateLogin,
7998 :lastUpdatedBy,
7999 :lastUpdatedDate,
8000 :versionId,
8001 :projectId,
8002 :resId,
8003 :elementId,
8004 :elementCode,
8005 :profileId,
8006 :amountTypeCode,
8007 :amountSubtypeCode,
8008 :amountTypeId,
8009 :amountSubTypeId,
8010 :currencyType,
8011 :currencyCode,
8012 :n1,
8013 :n2,
8014 :n3,
8015 :n4,
8016 :n5,
8017 :n6 )';
8018
8019 cursor_id := dbms_sql.open_cursor;
8020
8021 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8022
8023 dbms_sql.bind_variable(cursor_id,':creationDate',sysdate);
8024 dbms_sql.bind_variable(cursor_id,':createdBy',fnd_global.user_id);
8025 dbms_sql.bind_variable(cursor_id,':lastUpdateLogin',fnd_global.login_id);
8026 dbms_sql.bind_variable(cursor_id,':lastUpdatedBy',fnd_global.user_id);
8027 dbms_sql.bind_variable(cursor_id,':lastUpdatedDate',sysdate);
8028 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8029 dbms_sql.bind_variable(cursor_id,':resId',-2);
8030 dbms_sql.bind_variable(cursor_id,':projectId',l_project_id);
8031 dbms_sql.bind_variable(cursor_id,':profileId',l_period_profile_id);
8032 dbms_sql.bind_variable(cursor_id,':elementId',l_adj_element_id_tl);
8033 dbms_sql.bind_variable(cursor_id,':elementCode',l_element_code);
8034 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
8035 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
8036 dbms_sql.bind_variable(cursor_id,':amountTypeId',l_amount_type_id);
8037 dbms_sql.bind_variable(cursor_id,':amountSubtypeId',l_amount_subtype_id);
8038 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8039 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8040 dbms_sql.bind_variable(cursor_id,':n1',col1);
8041 dbms_sql.bind_variable(cursor_id,':n2',col2);
8042 dbms_sql.bind_variable(cursor_id,':n3',col3);
8043 dbms_sql.bind_variable(cursor_id,':n4',col4);
8044 dbms_sql.bind_variable(cursor_id,':n5',col5);
8045 dbms_sql.bind_variable(cursor_id,':n6',col6);
8046
8047
8048 l_rows_upd := dbms_sql.execute(cursor_id);
8049
8050 dbms_sql.close_cursor(cursor_id);
8051
8052
8053
8054 end;
8055
8056
8057 /*update denorm from budget_lines and resource assignment*/
8058
8059 /* for project level res id */
8060
8061 begin
8062
8063 select object_id
8064 into ll_ra_id_pl
8065 from pa_proj_periods_denorm
8066 where object_type_code = 'RES_ASSIGNMENT'
8067 and amount_type_code = l_amount_type_code
8068 and amount_subtype_code = l_amount_subtype_code
8069 and budget_version_id = l_budget_version_id
8070 and resource_assignment_id = l_ra_id_pl
8071 and currency_code = l_currency_code
8072 and currency_type = l_currency_type
8073 and object_id = l_ra_id_pl;
8074
8075 l_stmt := 'update pa_proj_periods_denorm
8076 set '|| colname1|| '= :n1,'||
8077 colname2|| '= :n2,'||
8078 colname3|| '= :n3,'||
8079 colname4|| '= :n4,'||
8080 colname5|| '= :n5,'||
8081 colname6|| '= :n6
8082 where budget_version_id = :versionId
8083 and resource_assignment_id = :resId
8084 and object_id = :elementId
8085 and object_type_code = :elementCode
8086 and amount_type_code = :amountTypeCode
8087 and amount_subtype_code = :amountSubtypeCode
8088 and currency_type = :currencyType
8089 and currency_code = :currencyCode';
8090
8091 cursor_id := dbms_sql.open_cursor;
8092
8093 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8094 dbms_sql.bind_variable(cursor_id,':n1',l_denorm_amount1_pl);
8095 dbms_sql.bind_variable(cursor_id,':n2',l_denorm_amount2_pl);
8096 dbms_sql.bind_variable(cursor_id,':n3',l_denorm_amount3_pl);
8097 dbms_sql.bind_variable(cursor_id,':n4',l_denorm_amount4_pl);
8098 dbms_sql.bind_variable(cursor_id,':n5',l_denorm_amount5_pl);
8099 dbms_sql.bind_variable(cursor_id,':n6',l_denorm_amount6_pl);
8100
8101 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8102 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
8103 dbms_sql.bind_variable(cursor_id,':elementId',ll_ra_id_pl);
8104 dbms_sql.bind_variable(cursor_id,':elementCode',l_res_code);
8105 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
8106
8107 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
8108 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8109 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8110
8111
8112 l_rows_upd := dbms_sql.execute(cursor_id);
8113
8114 dbms_sql.close_cursor(cursor_id);
8115
8116 exception
8117 WHEN NO_DATA_FOUND THEN
8118
8119 l_stmt := 'insert into pa_proj_periods_denorm
8120 ( CREATION_DATE,
8121 CREATED_BY,
8122 LAST_UPDATE_LOGIN,
8123 LAST_UPDATED_BY,
8124 LAST_UPDATE_DATE,
8125 budget_version_id,
8126 project_id,
8127 resource_assignment_id,
8128 object_id,
8129 object_type_code,
8130 period_profile_id,
8131 amount_type_code,
8132 amount_subtype_code,
8133 amount_type_id,
8134 amount_subtype_id,
8135 currency_type,
8136 currency_code,'||
8137 colname1||','||
8138 colname2||','||
8139 colname3||','||
8140 colname4||','||
8141 colname5||','||
8142 colname6||')
8143 values( :creationDate,
8144 :createdBy,
8145 :lastUpdateLogin,
8146 :lastUpdatedBy,
8147 :lastUpdatedDate,
8148 :versionId,
8149 :projectId,
8150 :resId,
8151 :elementId,
8152 :elementCode,
8153 :profileId,
8154 :amountTypeCode,
8155 :amountSubtypeCode,
8156 :amountTypeId,
8157 :amountSubTypeId,
8158 :currencyType,
8159 :currencyCode,
8160 :n1,
8161 :n2,
8162 :n3,
8163 :n4,
8164 :n5,
8165 :n6 )';
8166
8167 cursor_id := dbms_sql.open_cursor;
8168
8169 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8170
8171 dbms_sql.bind_variable(cursor_id,':creationDate',sysdate);
8172 dbms_sql.bind_variable(cursor_id,':createdBy',fnd_global.user_id);
8173
8174 dbms_sql.bind_variable(cursor_id,':lastUpdateLogin',fnd_global.login_id);
8175 dbms_sql.bind_variable(cursor_id,':lastUpdatedBy',fnd_global.user_id);
8176 dbms_sql.bind_variable(cursor_id,':lastUpdatedDate',sysdate);
8177 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8178 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
8179 dbms_sql.bind_variable(cursor_id,':projectId',l_project_id);
8180 dbms_sql.bind_variable(cursor_id,':profileId',l_period_profile_id);
8181 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
8182 dbms_sql.bind_variable(cursor_id,':elementCode',l_res_code);
8183 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
8184
8185 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
8186 dbms_sql.bind_variable(cursor_id,':amountTypeId',l_amount_type_id);
8187
8188 dbms_sql.bind_variable(cursor_id,':amountSubtypeId',l_amount_subtype_id);
8189 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8190 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8191 dbms_sql.bind_variable(cursor_id,':n1',l_denorm_amount1_pl);
8192 dbms_sql.bind_variable(cursor_id,':n2',l_denorm_amount2_pl);
8193 dbms_sql.bind_variable(cursor_id,':n3',l_denorm_amount3_pl);
8194 dbms_sql.bind_variable(cursor_id,':n4',l_denorm_amount4_pl);
8195 dbms_sql.bind_variable(cursor_id,':n5',l_denorm_amount5_pl);
8196 dbms_sql.bind_variable(cursor_id,':n6',l_denorm_amount6_pl);
8197
8198
8199 l_rows_upd := dbms_sql.execute(cursor_id);
8200
8201 dbms_sql.close_cursor(cursor_id);
8202
8203
8204
8205 end;
8206
8207
8208 /* for task level res id */
8209
8210 begin
8211
8212 select object_id
8213 into ll_ra_id_tl
8214 from pa_proj_periods_denorm
8215 where object_type_code = 'RES_ASSIGNMENT'
8216 and amount_type_code = l_amount_type_code
8217 and amount_subtype_code = l_amount_subtype_code
8218 and budget_version_id = l_budget_version_id
8219 and resource_assignment_id = l_ra_id_tl
8220 and currency_code = l_currency_code
8221 and currency_type = l_currency_type
8222 and object_id = l_ra_id_tl;
8223
8224 l_stmt := 'update pa_proj_periods_denorm
8225 set '|| colname1|| '= :n1,'||
8226 colname2|| '= :n2,'||
8227 colname3|| '= :n3,'||
8228 colname4|| '= :n4,'||
8229 colname5|| '= :n5,'||
8230 colname6|| '= :n6
8231 where budget_version_id = :versionId
8232 and resource_assignment_id = :resId
8233 and object_id = :elementId
8234 and object_type_code = :elementCode
8235 and amount_type_code = :amountTypeCode
8236 and amount_subtype_code = :amountSubtypeCode
8237 and currency_type = :currencyType
8238 and currency_code = :currencyCode';
8239
8240 cursor_id := dbms_sql.open_cursor;
8241
8242 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8243 dbms_sql.bind_variable(cursor_id,':n1',l_denorm_amount1_tl);
8244 dbms_sql.bind_variable(cursor_id,':n2',l_denorm_amount2_tl);
8245 dbms_sql.bind_variable(cursor_id,':n3',l_denorm_amount3_tl);
8246 dbms_sql.bind_variable(cursor_id,':n4',l_denorm_amount4_tl);
8247 dbms_sql.bind_variable(cursor_id,':n5',l_denorm_amount5_tl);
8248 dbms_sql.bind_variable(cursor_id,':n6',l_denorm_amount6_tl);
8249
8250 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8251 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
8252 dbms_sql.bind_variable(cursor_id,':elementId',ll_ra_id_tl);
8253 dbms_sql.bind_variable(cursor_id,':elementCode',l_res_code);
8254 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
8255
8256 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
8257 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8258 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8259
8260
8261 l_rows_upd := dbms_sql.execute(cursor_id);
8262
8263 dbms_sql.close_cursor(cursor_id);
8264
8265 exception
8266 WHEN NO_DATA_FOUND THEN
8267
8268 l_stmt := 'insert into pa_proj_periods_denorm
8269 ( CREATION_DATE,
8270 CREATED_BY,
8271 LAST_UPDATE_LOGIN,
8272 LAST_UPDATED_BY,
8273 LAST_UPDATE_DATE,
8274 budget_version_id,
8275 project_id,
8276 resource_assignment_id,
8277 object_id,
8278 object_type_code,
8279 period_profile_id,
8280 amount_type_code,
8281 amount_subtype_code,
8282 amount_type_id,
8283 amount_subtype_id,
8284 currency_type,
8285 currency_code,'||
8286 colname1||','||
8287 colname2||','||
8288 colname3||','||
8289 colname4||','||
8290 colname5||','||
8291 colname6||')
8292 values( :creationDate,
8293 :createdBy,
8294 :lastUpdateLogin,
8295 :lastUpdatedBy,
8296 :lastUpdatedDate,
8297 :versionId,
8298 :projectId,
8299 :resId,
8300 :elementId,
8301 :elementCode,
8302 :profileId,
8303 :amountTypeCode,
8304 :amountSubtypeCode,
8305 :amountTypeId,
8306 :amountSubTypeId,
8307 :currencyType,
8308 :currencyCode,
8309 :n1,
8310 :n2,
8311 :n3,
8312 :n4,
8313 :n5,
8314 :n6 )';
8315
8316 cursor_id := dbms_sql.open_cursor;
8317
8318 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8319
8320 dbms_sql.bind_variable(cursor_id,':creationDate',sysdate);
8321 dbms_sql.bind_variable(cursor_id,':createdBy',fnd_global.user_id);
8322
8323 dbms_sql.bind_variable(cursor_id,':lastUpdateLogin',fnd_global.login_id);
8324 dbms_sql.bind_variable(cursor_id,':lastUpdatedBy',fnd_global.user_id);
8325 dbms_sql.bind_variable(cursor_id,':lastUpdatedDate',sysdate);
8326 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8327 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
8328 dbms_sql.bind_variable(cursor_id,':projectId',l_project_id);
8329 dbms_sql.bind_variable(cursor_id,':profileId',l_period_profile_id);
8330 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
8331 dbms_sql.bind_variable(cursor_id,':elementCode',l_res_code);
8332 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
8333
8334 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
8335 dbms_sql.bind_variable(cursor_id,':amountTypeId',l_amount_type_id);
8336
8337 dbms_sql.bind_variable(cursor_id,':amountSubtypeId',l_amount_subtype_id);
8338 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8339 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8340 dbms_sql.bind_variable(cursor_id,':n1',l_denorm_amount1_tl);
8341 dbms_sql.bind_variable(cursor_id,':n2',l_denorm_amount2_tl);
8342 dbms_sql.bind_variable(cursor_id,':n3',l_denorm_amount3_tl);
8343 dbms_sql.bind_variable(cursor_id,':n4',l_denorm_amount4_tl);
8344 dbms_sql.bind_variable(cursor_id,':n5',l_denorm_amount5_tl);
8345 dbms_sql.bind_variable(cursor_id,':n6',l_denorm_amount6_tl);
8346
8347
8348 l_rows_upd := dbms_sql.execute(cursor_id);
8349
8350 dbms_sql.close_cursor(cursor_id);
8351
8352
8353
8354 end;
8355
8356
8357 /* Need to update the Margin and Margin% Also*/
8358
8359
8360 /* for project level res id */
8361
8362 /* Get Revenue */
8363
8364 begin
8365
8366 select period1,period2,period3,period4,period5,period6
8367 into l_rev1_pl,l_rev2_pl,l_rev3_pl,l_rev4_pl,l_rev5_pl,l_rev6_pl
8368 from pa_fp_sum_pv_v
8369 where resource_assignment_id = l_ra_id_pl
8370 and AMOUNT_TYPE_CODE = 'REVENUE';
8371
8372 /*
8373 l_stmt := 'select sum(nvl('||colname1||',0)),'||
8374 'sum(nvl('||colname2||',0)),'||
8375 'sum(nvl('||colname3||',0)),'||
8376 'sum(nvl('||colname4||',0)),'||
8377 'sum(nvl('||colname5||',0)),'||
8378 'sum(nvl('||colname6||',0))'||'
8379 from pa_proj_periods_denorm
8380 where budget_version_id = :versionId
8381 and resource_assignment_id = :resId
8382 and object_id = :elementId
8383 and object_type_code = :elementCode
8384 and amount_type_code = :amountTypeCode
8385 and currency_type = :currencyType
8386 and currency_code = :currencyCode';
8387
8388 cursor_id := dbms_sql.open_cursor;
8389
8390 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8391
8392
8393 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8394 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
8395 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
8396 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
8397 dbms_sql.bind_variable(cursor_id,':amountTypeCode','REVENUE');
8398 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8399 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8400
8401 dbms_sql.define_column(cursor_id,1,l_rev1_pl);
8402 dbms_sql.define_column(cursor_id,2,l_rev2_pl);
8403 dbms_sql.define_column(cursor_id,3,l_rev3_pl);
8404 dbms_sql.define_column(cursor_id,4,l_rev4_pl);
8405 dbms_sql.define_column(cursor_id,5,l_rev5_pl);
8406 dbms_sql.define_column(cursor_id,6,l_rev6_pl);
8407
8408
8409 l_rows_upd := dbms_sql.execute(cursor_id);
8410
8411 LOOP
8412 IF DBMS_SQL.FETCH_ROWS(cursor_id) = 0 THEN
8413 EXIT;
8414 END IF;
8415
8416 dbms_sql.column_value(cursor_id,1,l_rev1_pl);
8417 dbms_sql.column_value(cursor_id,2,l_rev2_pl);
8418 dbms_sql.column_value(cursor_id,3,l_rev3_pl);
8419 dbms_sql.column_value(cursor_id,4,l_rev4_pl);
8420 dbms_sql.column_value(cursor_id,5,l_rev5_pl);
8421 dbms_sql.column_value(cursor_id,6,l_rev6_pl);
8422
8423
8424 END LOOP;
8425
8426 dbms_sql.close_cursor(cursor_id);
8427
8428 */
8429 end;
8430
8431 /* Get Cost */
8432
8433 begin
8434
8435
8436 select period1,period2,period3,period4,period5,period6
8437 into l_cost1_pl,l_cost2_pl,l_cost3_pl,l_cost4_pl,l_cost5_pl,l_cost6_pl
8438 from pa_fp_sum_pv_v
8439 where resource_assignment_id = l_ra_id_pl
8440 and AMOUNT_TYPE_CODE = 'COST';
8441
8442 /*
8443 l_stmt := 'select sum(nvl('||colname1||',0)),'||
8444 'sum(nvl('||colname2||',0)),'||
8445 'sum(nvl('||colname3||',0)),'||
8446 'sum(nvl('||colname4||',0)),'||
8447 'sum(nvl('||colname5||',0)),'||
8448 'sum(nvl('||colname6||',0))'||'
8449 from pa_proj_periods_denorm
8450 where budget_version_id = :versionId
8451 and resource_assignment_id = :resId
8452 and object_id = :elementId
8453 and object_type_code = :elementCode
8454 and amount_type_code = :amountTypeCode
8455 and currency_type = :currencyType
8456 and currency_code = :currencyCode';
8457
8458 cursor_id := dbms_sql.open_cursor;
8459
8460 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8461
8462 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8463 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
8464 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
8465 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
8466 dbms_sql.bind_variable(cursor_id,':amountTypeCode','COST');
8467 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8468 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8469
8470
8471
8472 dbms_sql.define_column(cursor_id,1,l_cost1_pl);
8473 dbms_sql.define_column(cursor_id,2,l_cost2_pl);
8474 dbms_sql.define_column(cursor_id,3,l_cost3_pl);
8475 dbms_sql.define_column(cursor_id,4,l_cost4_pl);
8476 dbms_sql.define_column(cursor_id,5,l_cost5_pl);
8477 dbms_sql.define_column(cursor_id,6,l_cost6_pl);
8478
8479 l_rows_upd := dbms_sql.execute(cursor_id);
8480
8481 LOOP
8482 IF DBMS_SQL.FETCH_ROWS(cursor_id) = 0 THEN
8483 EXIT;
8484 END IF;
8485
8486 dbms_sql.column_value(cursor_id,1,l_cost1_pl);
8487 dbms_sql.column_value(cursor_id,2,l_cost2_pl);
8488 dbms_sql.column_value(cursor_id,3,l_cost3_pl);
8489 dbms_sql.column_value(cursor_id,4,l_cost4_pl);
8490 dbms_sql.column_value(cursor_id,5,l_cost5_pl);
8491 dbms_sql.column_value(cursor_id,6,l_cost6_pl);
8492
8493
8494 END LOOP;
8495
8496 dbms_sql.close_cursor(cursor_id);
8497 */
8498
8499 end;
8500
8501
8502
8503 /* Now populate MARGIN */
8504
8505 begin
8506
8507 l_stmt := 'update pa_proj_periods_denorm
8508 set '|| colname1|| '= :n1,'||
8509 colname2|| '= :n2,'||
8510 colname3|| '= :n3,'||
8511 colname4|| '= :n4,'||
8512 colname5|| '= :n5,'||
8513 colname6|| '= :n6'||'
8514 where budget_version_id = :versionId
8515 and resource_assignment_id = :resId
8516 and object_id = :elementId
8517 and object_type_code = :elementCode
8518 and amount_type_code = :amountTypeCode
8519 and amount_subtype_code = :amountSubtypeCode
8520 and currency_type = :currencyType
8521 and currency_code = :currencyCode';
8522
8523 cursor_id := dbms_sql.open_cursor;
8524
8525 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8526 dbms_sql.bind_variable(cursor_id,':n1',(l_rev1_pl-l_cost1_pl));
8527 dbms_sql.bind_variable(cursor_id,':n2',(l_rev2_pl-l_cost2_pl));
8528 dbms_sql.bind_variable(cursor_id,':n3',(l_rev3_pl-l_cost3_pl));
8529 dbms_sql.bind_variable(cursor_id,':n4',(l_rev4_pl-l_cost4_pl));
8530 dbms_sql.bind_variable(cursor_id,':n5',(l_rev5_pl-l_cost5_pl));
8531 dbms_sql.bind_variable(cursor_id,':n6',(l_rev6_pl-l_cost6_pl));
8532
8533 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8534 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
8535 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
8536 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
8537 dbms_sql.bind_variable(cursor_id,':amountTypeCode','MARGIN');
8538 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode','MARGIN');
8539 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8540 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8541
8542
8543 l_rows_upd := dbms_sql.execute(cursor_id);
8544
8545 dbms_sql.close_cursor(cursor_id);
8546
8547 end;
8548
8549 /* Now populate the MARGIN% */
8550
8551 begin
8552
8553 l_stmt := 'update pa_proj_periods_denorm
8554 set '|| colname1|| '= :n1,'||
8555 colname2|| '= :n2,'||
8556 colname3|| '= :n3,'||
8557 colname4|| '= :n4,'||
8558 colname5|| '= :n5,'||
8559 colname6|| '= :n6'||'
8560 where budget_version_id = :versionId
8561 and resource_assignment_id = :resId
8562 and object_id = :elementId
8563 and object_type_code = :elementCode
8564 and amount_type_code = :amountTypeCode
8565 and amount_subtype_code = :amountSubtypeCode
8566 and currency_type = :currencyType
8567 and currency_code = :currencyCode';
8568
8569 cursor_id := dbms_sql.open_cursor;
8570
8571
8572 if l_rev1_pl = 0 then
8573 l_mgn_per1_pl := 0;
8574 else
8575 l_mgn_per1_pl := 100*(l_rev1_pl-l_cost1_pl)/l_rev1_pl;
8576 end if;
8577
8578 if l_rev2_pl = 0 then
8579 l_mgn_per2_pl := 0;
8580 else
8581 l_mgn_per2_pl := 100*(l_rev2_pl-l_cost2_pl)/l_rev2_pl;
8582 end if;
8583
8584 if l_rev3_pl = 0 then
8585 l_mgn_per3_pl := 0;
8586 else
8587 l_mgn_per3_pl := 100*(l_rev3_pl-l_cost3_pl)/l_rev3_pl;
8588 end if;
8589
8590 if l_rev4_pl = 0 then
8591 l_mgn_per4_pl := 0;
8592 else
8593 l_mgn_per4_pl := 100*(l_rev4_pl-l_cost4_pl)/l_rev4_pl;
8594 end if;
8595
8596 if l_rev5_pl = 0 then
8597 l_mgn_per5_pl := 0;
8598 else
8599 l_mgn_per5_pl := 100*(l_rev5_pl-l_cost5_pl)/l_rev5_pl;
8600 end if;
8601
8602 if l_rev6_pl = 0 then
8603 l_mgn_per6_pl := 0;
8604 else
8605 l_mgn_per6_pl := 100*(l_rev6_pl-l_cost6_pl)/l_rev6_pl;
8606 end if;
8607
8608 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8609 dbms_sql.bind_variable(cursor_id,':n1',l_mgn_per1_pl);
8610 dbms_sql.bind_variable(cursor_id,':n2',l_mgn_per2_pl);
8611 dbms_sql.bind_variable(cursor_id,':n3',l_mgn_per3_pl);
8612 dbms_sql.bind_variable(cursor_id,':n4',l_mgn_per4_pl);
8613 dbms_sql.bind_variable(cursor_id,':n5',l_mgn_per5_pl);
8614 dbms_sql.bind_variable(cursor_id,':n6',l_mgn_per6_pl);
8615
8616 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8617 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
8618 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
8619 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
8620 dbms_sql.bind_variable(cursor_id,':amountTypeCode','MARGIN_PERCENT');
8621 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode','MARGIN_PERCENT');
8622 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8623 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8624
8625
8626 l_rows_upd := dbms_sql.execute(cursor_id);
8627
8628 dbms_sql.close_cursor(cursor_id);
8629
8630 end;
8631
8632 /* for task level res id */
8633
8634 /* Get Revenue */
8635 begin
8636
8637 select period1,period2,period3,period4,period5,period6
8638 into l_rev1_tl,l_rev2_tl,l_rev3_tl,l_rev4_tl,l_rev5_tl,l_rev6_tl
8639 from pa_fp_sum_pv_v
8640 where resource_assignment_id = l_ra_id_pl
8641 and AMOUNT_TYPE_CODE = 'REVENUE';
8642
8643 /*
8644 l_stmt := 'select sum('||colname1||'),'||
8645 'sum('||colname2||'),'||
8646 'sum('||colname3||'),'||
8647 'sum('||colname4||'),'||
8648 'sum('||colname5||'),'||
8649 'sum('||colname6||')'||'
8650 from pa_proj_periods_denorm
8651 where budget_version_id = :versionId
8652 and resource_assignment_id = :resId
8653 and object_id = :elementId
8654 and object_type_code = :elementCode
8655 and amount_type_code = :amountTypeCode
8656 and currency_type = :currencyType
8657 and currency_code = :currencyCode';
8658
8659 cursor_id := dbms_sql.open_cursor;
8660
8661 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8662
8663 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8664 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
8665 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
8666 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
8667 dbms_sql.bind_variable(cursor_id,':amountTypeCode','REVENUE');
8668 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8669 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8670
8671
8672
8673 dbms_sql.define_column(cursor_id,1,l_rev1_tl);
8674 dbms_sql.define_column(cursor_id,2,l_rev2_tl);
8675 dbms_sql.define_column(cursor_id,3,l_rev3_tl);
8676 dbms_sql.define_column(cursor_id,4,l_rev4_tl);
8677 dbms_sql.define_column(cursor_id,5,l_rev5_tl);
8678 dbms_sql.define_column(cursor_id,6,l_rev6_tl);
8679
8680 l_rows_upd := dbms_sql.execute(cursor_id);
8681
8682 LOOP
8683 IF DBMS_SQL.FETCH_ROWS(cursor_id) = 0 THEN
8684 EXIT;
8685 END IF;
8686
8687
8688 dbms_sql.column_value(cursor_id,1,l_rev1_tl);
8689 dbms_sql.column_value(cursor_id,2,l_rev2_tl);
8690 dbms_sql.column_value(cursor_id,3,l_rev3_tl);
8691 dbms_sql.column_value(cursor_id,4,l_rev4_tl);
8692 dbms_sql.column_value(cursor_id,5,l_rev5_tl);
8693 dbms_sql.column_value(cursor_id,6,l_rev6_tl);
8694
8695
8696
8697
8698 END LOOP;
8699
8700 dbms_sql.close_cursor(cursor_id);
8701 */
8702
8703 end;
8704
8705 /* Get Cost */
8706
8707 begin
8708
8709 select period1,period2,period3,period4,period5,period6
8710 into l_cost1_tl,l_cost2_tl,l_cost3_tl,l_cost4_tl,l_cost5_tl,l_cost6_tl
8711 from pa_fp_sum_pv_v
8712 where resource_assignment_id = l_ra_id_pl
8713 and AMOUNT_TYPE_CODE = 'COST';
8714
8715 /*
8716 l_stmt := 'select sum('||colname1||'),'||
8717 'sum('||colname2||'),'||
8718 'sum('||colname3||'),'||
8719 'sum('||colname4||'),'||
8720 'sum('||colname5||'),'||
8721 'sum('||colname6||')'||'
8722 from pa_proj_periods_denorm
8723 where budget_version_id = :versionId
8724 and resource_assignment_id = :resId
8725 and object_id = :elementId
8726 and object_type_code = :elementCode
8727 and amount_type_code = :amountTypeCode
8728 and currency_type = :currencyType
8729 and currency_code = :currencyCode';
8730
8731 cursor_id := dbms_sql.open_cursor;
8732
8733 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8734
8735 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8736 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
8737 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
8738 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
8739 dbms_sql.bind_variable(cursor_id,':amountTypeCode','COST');
8740 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8741 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8742
8743
8744 dbms_sql.define_column(cursor_id,1,l_cost1_tl);
8745 dbms_sql.define_column(cursor_id,2,l_cost2_tl);
8746 dbms_sql.define_column(cursor_id,3,l_cost3_tl);
8747 dbms_sql.define_column(cursor_id,4,l_cost4_tl);
8748 dbms_sql.define_column(cursor_id,5,l_cost5_tl);
8749 dbms_sql.define_column(cursor_id,6,l_cost6_tl);
8750
8751 l_rows_upd := dbms_sql.execute(cursor_id);
8752
8753 LOOP
8754 IF DBMS_SQL.FETCH_ROWS(cursor_id) = 0 THEN
8755 EXIT;
8756 END IF;
8757
8758 dbms_sql.column_value(cursor_id,1,l_cost1_tl);
8759 dbms_sql.column_value(cursor_id,2,l_cost2_tl);
8760 dbms_sql.column_value(cursor_id,3,l_cost3_tl);
8761 dbms_sql.column_value(cursor_id,4,l_cost4_tl);
8762 dbms_sql.column_value(cursor_id,5,l_cost5_tl);
8763 dbms_sql.column_value(cursor_id,6,l_cost6_tl);
8764
8765
8766 END LOOP;
8767 dbms_sql.close_cursor(cursor_id);
8768
8769 */
8770 end;
8771
8772
8773
8774 /* Now populate MARGIN */
8775
8776 begin
8777
8778 l_stmt := 'update pa_proj_periods_denorm
8779 set '|| colname1|| '= :n1,'||
8780 colname2|| '= :n2,'||
8781 colname3|| '= :n3,'||
8782 colname4|| '= :n4,'||
8783 colname5|| '= :n5,'||
8784 colname6|| '= :n6'||'
8785 where budget_version_id = :versionId
8786 and resource_assignment_id = :resId
8787 and object_id = :elementId
8788 and object_type_code = :elementCode
8789 and amount_type_code = :amountTypeCode
8790 and amount_subtype_code = :amountSubtypeCode
8791 and currency_type = :currencyType
8792 and currency_code = :currencyCode';
8793
8794 cursor_id := dbms_sql.open_cursor;
8795
8796 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8797 dbms_sql.bind_variable(cursor_id,':n1',(l_rev1_tl-l_cost1_tl));
8798 dbms_sql.bind_variable(cursor_id,':n2',(l_rev2_tl-l_cost2_tl));
8799 dbms_sql.bind_variable(cursor_id,':n3',(l_rev3_tl-l_cost3_tl));
8800 dbms_sql.bind_variable(cursor_id,':n4',(l_rev4_tl-l_cost4_tl));
8801 dbms_sql.bind_variable(cursor_id,':n5',(l_rev5_tl-l_cost5_tl));
8802 dbms_sql.bind_variable(cursor_id,':n6',(l_rev6_tl-l_cost6_tl));
8803
8804 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8805 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
8806 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
8807 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
8808 dbms_sql.bind_variable(cursor_id,':amountTypeCode','MARGIN');
8809 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode','MARGIN');
8810 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8811 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8812
8813
8814 l_rows_upd := dbms_sql.execute(cursor_id);
8815
8816 dbms_sql.close_cursor(cursor_id);
8817
8818 end;
8819
8820 /* Now populate the MARGIN% */
8821
8822 begin
8823
8824 l_stmt := 'update pa_proj_periods_denorm
8825 set '|| colname1|| '= :n1,'||
8826 colname2|| '= :n2,'||
8827 colname3|| '= :n3,'||
8828 colname4|| '= :n4,'||
8829 colname5|| '= :n5,'||
8830 colname6|| '= :n6'||'
8831 where budget_version_id = :versionId
8832 and resource_assignment_id = :resId
8833 and object_id = :elementId
8834 and object_type_code = :elementCode
8835 and amount_type_code = :amountTypeCode
8836 and amount_subtype_code = :amountSubtypeCode
8837 and currency_type = :currencyType
8838 and currency_code = :currencyCode';
8839
8840 cursor_id := dbms_sql.open_cursor;
8841
8842
8843 if l_rev1_tl = 0 then
8844 l_mgn_per1_tl := 0;
8845 else
8846 l_mgn_per1_tl := 100*(l_rev1_tl-l_cost1_tl)/l_rev1_tl;
8847 end if;
8848
8849 if l_rev2_tl = 0 then
8850 l_mgn_per2_tl := 0;
8851 else
8852 l_mgn_per2_tl := 100*(l_rev2_tl-l_cost2_tl)/l_rev2_tl;
8853 end if;
8854
8855 if l_rev3_tl = 0 then
8856 l_mgn_per3_tl := 0;
8857 else
8858 l_mgn_per3_tl := 100*(l_rev3_tl-l_cost3_tl)/l_rev3_tl;
8859 end if;
8860
8861 if l_rev4_tl = 0 then
8862 l_mgn_per4_tl := 0;
8863 else
8864 l_mgn_per4_tl := 100*(l_rev4_tl-l_cost4_tl)/l_rev4_tl;
8865 end if;
8866
8867 if l_rev5_tl = 0 then
8868 l_mgn_per5_tl := 0;
8869 else
8870 l_mgn_per5_tl := 100*(l_rev5_tl-l_cost5_tl)/l_rev5_tl;
8871 end if;
8872
8873 if l_rev6_tl = 0 then
8874 l_mgn_per6_tl := 0;
8875 else
8876 l_mgn_per6_tl := 100*(l_rev6_tl-l_cost6_tl)/l_rev6_tl;
8877 end if;
8878
8879 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8880 dbms_sql.bind_variable(cursor_id,':n1',l_mgn_per1_tl);
8881 dbms_sql.bind_variable(cursor_id,':n2',l_mgn_per2_tl);
8882 dbms_sql.bind_variable(cursor_id,':n3',l_mgn_per3_tl);
8883 dbms_sql.bind_variable(cursor_id,':n4',l_mgn_per4_tl);
8884 dbms_sql.bind_variable(cursor_id,':n5',l_mgn_per5_tl);
8885 dbms_sql.bind_variable(cursor_id,':n6',l_mgn_per6_tl);
8886
8887 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8888 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
8889 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
8890 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
8891 dbms_sql.bind_variable(cursor_id,':amountTypeCode','MARGIN_PERCENT');
8892 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode','MARGIN_PERCENT');
8893 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8894 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8895
8896
8897 l_rows_upd := dbms_sql.execute(cursor_id);
8898
8899 dbms_sql.close_cursor(cursor_id);
8900
8901 end;
8902
8903
8904 end if;
8905 /*end if 'GL'*/
8906
8907
8908 if p_period_type = 'PA' THEN
8909
8910 /* for project level res id */
8911
8912 begin
8913
8914 select object_id
8915 into l_element_id_pl
8916 from pa_proj_periods_denorm
8917 where object_type_code = 'ADJ_ELEMENTS'
8918 and amount_type_code = l_amount_type_code
8919 and amount_subtype_code = l_amount_subtype_code
8920 and budget_version_id = l_budget_version_id
8921 and resource_assignment_id = -1
8922 and currency_code = l_currency_code
8923 and currency_type = l_currency_type
8924 and object_id = l_adj_element_id_pl;
8925
8926 l_stmt := 'update pa_proj_periods_denorm
8927 set '|| colname1|| '= :n1,'||
8928 colname2|| '= :n2,'||
8929 colname3|| '= :n3,'||
8930 colname4|| '= :n4,'||
8931 colname5|| '= :n5,'||
8932 colname6|| '= :n6,'||
8933 colname7|| '= :n7,'||
8934 colname8|| '= :n8,'||
8935 colname9|| '= :n9,'||
8936 colname10|| '= :n10,'||
8937 colname11|| '= :n11,'||
8938 colname12|| '= :n12,'||
8939 colname13|| '= :n13
8940 where budget_version_id = :versionId
8941 and resource_assignment_id = :resId
8942 and object_id = :elementId
8943 and object_type_code = :elementCode
8944 and amount_type_code = :amountTypeCode
8945 and amount_subtype_code = :amountSubtypeCode
8946 and currency_type = :currencyType
8947 and currency_code = :currencyCode';
8948
8949 cursor_id := dbms_sql.open_cursor;
8950
8951 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
8952 dbms_sql.bind_variable(cursor_id,':n1',col1);
8953 dbms_sql.bind_variable(cursor_id,':n2',col2);
8954 dbms_sql.bind_variable(cursor_id,':n3',col3);
8955 dbms_sql.bind_variable(cursor_id,':n4',col4);
8956 dbms_sql.bind_variable(cursor_id,':n5',col5);
8957 dbms_sql.bind_variable(cursor_id,':n6',col6);
8958 dbms_sql.bind_variable(cursor_id,':n7',col7);
8959 dbms_sql.bind_variable(cursor_id,':n8',col8);
8960 dbms_sql.bind_variable(cursor_id,':n9',col9);
8961 dbms_sql.bind_variable(cursor_id,':n10',col10);
8962 dbms_sql.bind_variable(cursor_id,':n11',col11);
8963 dbms_sql.bind_variable(cursor_id,':n12',col12);
8964 dbms_sql.bind_variable(cursor_id,':n13',col13);
8965
8966 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
8967 dbms_sql.bind_variable(cursor_id,':resId',-1);
8968 dbms_sql.bind_variable(cursor_id,':elementId',l_element_id_pl);
8969 dbms_sql.bind_variable(cursor_id,':elementCode',l_element_code);
8970 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
8971 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
8972 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
8973 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
8974
8975
8976 l_rows_upd := dbms_sql.execute(cursor_id);
8977
8978 dbms_sql.close_cursor(cursor_id);
8979
8980 exception
8981 WHEN NO_DATA_FOUND THEN
8982
8983 l_stmt := 'insert into pa_proj_periods_denorm
8984 ( CREATION_DATE,
8985 CREATED_BY,
8986 LAST_UPDATE_LOGIN,
8987 LAST_UPDATED_BY,
8988 LAST_UPDATE_DATE,
8989 budget_version_id,
8990 project_id,
8991 resource_assignment_id,
8992 object_id,
8993 object_type_code,
8994 period_profile_id,
8995 amount_type_code,
8996 amount_subtype_code,
8997 amount_type_id,
8998 amount_subtype_id,
8999 currency_type,
9000 currency_code,'||
9001 colname1||','||
9002 colname2||','||
9003 colname3||','||
9004 colname4||','||
9005 colname5||','||
9006 colname6||','||
9007 colname7||','||
9008 colname8||','||
9009 colname9||','||
9010 colname10||','||
9011 colname11||','||
9012 colname12||','||
9013 colname13||')
9014 values( :creationDate,
9015 :createdBy,
9016 :lastUpdateLogin,
9017 :lastUpdatedBy,
9018 :lastUpdatedDate,
9019 :versionId,
9020 :projectId,
9021 :resId,
9022 :elementId,
9023 :elementCode,
9024 :profileId,
9025 :amountTypeCode,
9026 :amountSubtypeCode,
9027 :amountTypeId,
9028 :amountSubTypeId,
9029 :currencyType,
9030 :currencyCode,
9031 :n1,
9032 :n2,
9033 :n3,
9034 :n4,
9035 :n5,
9036 :n6,
9037 :n7,
9038 :n8,
9039 :n9,
9040 :n10,
9041 :n11,
9042 :n12,
9043 :n13 )';
9044
9045 cursor_id := dbms_sql.open_cursor;
9046
9047 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9048
9049 dbms_sql.bind_variable(cursor_id,':creationDate',sysdate);
9050 dbms_sql.bind_variable(cursor_id,':createdBy',fnd_global.user_id);
9051 dbms_sql.bind_variable(cursor_id,':lastUpdateLogin',fnd_global.login_id);
9052 dbms_sql.bind_variable(cursor_id,':lastUpdatedBy',fnd_global.user_id);
9053 dbms_sql.bind_variable(cursor_id,':lastUpdatedDate',sysdate);
9054 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9055 dbms_sql.bind_variable(cursor_id,':resId',-1);
9056 dbms_sql.bind_variable(cursor_id,':projectId',l_project_id);
9057 dbms_sql.bind_variable(cursor_id,':profileId',l_period_profile_id);
9058 dbms_sql.bind_variable(cursor_id,':elementId',l_adj_element_id_pl);
9059 dbms_sql.bind_variable(cursor_id,':elementCode',l_element_code);
9060 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
9061 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
9062 dbms_sql.bind_variable(cursor_id,':amountTypeId',l_amount_type_id);
9063 dbms_sql.bind_variable(cursor_id,':amountSubtypeId',l_amount_subtype_id);
9064 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9065 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9066 dbms_sql.bind_variable(cursor_id,':n1',col1);
9067 dbms_sql.bind_variable(cursor_id,':n2',col2);
9068 dbms_sql.bind_variable(cursor_id,':n3',col3);
9069 dbms_sql.bind_variable(cursor_id,':n4',col4);
9070 dbms_sql.bind_variable(cursor_id,':n5',col5);
9071 dbms_sql.bind_variable(cursor_id,':n6',col6);
9072 dbms_sql.bind_variable(cursor_id,':n7',col7);
9073 dbms_sql.bind_variable(cursor_id,':n8',col8);
9074 dbms_sql.bind_variable(cursor_id,':n9',col9);
9075 dbms_sql.bind_variable(cursor_id,':n10',col10);
9076 dbms_sql.bind_variable(cursor_id,':n11',col11);
9077 dbms_sql.bind_variable(cursor_id,':n12',col12);
9078 dbms_sql.bind_variable(cursor_id,':n13',col13);
9079
9080
9081 l_rows_upd := dbms_sql.execute(cursor_id);
9082
9083 dbms_sql.close_cursor(cursor_id);
9084
9085
9086
9087 end;
9088
9089
9090 /* for task level res id */
9091
9092 begin
9093
9094 select object_id
9095 into l_element_id_tl
9096 from pa_proj_periods_denorm
9097 where object_type_code = 'ADJ_ELEMENTS'
9098 and amount_type_code = l_amount_type_code
9099 and amount_subtype_code = l_amount_subtype_code
9100 and budget_version_id = l_budget_version_id
9101 and resource_assignment_id = -2
9102 and currency_code = l_currency_code
9103 and currency_type = l_currency_type
9104 and object_id = l_adj_element_id_tl;
9105
9106 l_stmt := 'update pa_proj_periods_denorm
9107 set '|| colname1|| '= :n1,'||
9108 colname2|| '= :n2,'||
9109 colname3|| '= :n3,'||
9110 colname4|| '= :n4,'||
9111 colname5|| '= :n5,'||
9112 colname6|| '= :n6,'||
9113 colname7|| '= :n7,'||
9114 colname8|| '= :n8,'||
9115 colname9|| '= :n9,'||
9116 colname10|| '= :n10,'||
9117 colname11|| '= :n11,'||
9118 colname12|| '= :n12,'||
9119 colname13|| '= :n13
9120 where budget_version_id = :versionId
9121 and resource_assignment_id = :resId
9122 and object_id = :elementId
9123 and object_type_code = :elementCode
9124 and amount_type_code = :amountTypeCode
9125 and amount_subtype_code = :amountSubtypeCode
9126 and currency_type = :currencyType
9127 and currency_code = :currencyCode';
9128
9129 cursor_id := dbms_sql.open_cursor;
9130
9131 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9132 dbms_sql.bind_variable(cursor_id,':n1',col1);
9133 dbms_sql.bind_variable(cursor_id,':n2',col2);
9134 dbms_sql.bind_variable(cursor_id,':n3',col3);
9135 dbms_sql.bind_variable(cursor_id,':n4',col4);
9136 dbms_sql.bind_variable(cursor_id,':n5',col5);
9137 dbms_sql.bind_variable(cursor_id,':n6',col6);
9138 dbms_sql.bind_variable(cursor_id,':n7',col7);
9139 dbms_sql.bind_variable(cursor_id,':n8',col8);
9140 dbms_sql.bind_variable(cursor_id,':n9',col9);
9141 dbms_sql.bind_variable(cursor_id,':n10',col10);
9142 dbms_sql.bind_variable(cursor_id,':n11',col11);
9143 dbms_sql.bind_variable(cursor_id,':n12',col12);
9144 dbms_sql.bind_variable(cursor_id,':n13',col13);
9145
9146 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9147 dbms_sql.bind_variable(cursor_id,':resId',-2);
9148 dbms_sql.bind_variable(cursor_id,':elementId',l_element_id_tl);
9149 dbms_sql.bind_variable(cursor_id,':elementCode',l_element_code);
9150 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
9151 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
9152 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9153 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9154
9155
9156 l_rows_upd := dbms_sql.execute(cursor_id);
9157
9158 dbms_sql.close_cursor(cursor_id);
9159
9160 exception
9161 WHEN NO_DATA_FOUND THEN
9162
9163 l_stmt := 'insert into pa_proj_periods_denorm
9164 ( CREATION_DATE,
9165 CREATED_BY,
9166 LAST_UPDATE_LOGIN,
9167 LAST_UPDATED_BY,
9168 LAST_UPDATE_DATE,
9169 budget_version_id,
9170 project_id,
9171 resource_assignment_id,
9172 object_id,
9173 object_type_code,
9174 period_profile_id,
9175 amount_type_code,
9176 amount_subtype_code,
9177 amount_type_id,
9178 amount_subtype_id,
9179 currency_type,
9180 currency_code,'||
9181 colname1||','||
9182 colname2||','||
9183 colname3||','||
9184 colname4||','||
9185 colname5||','||
9186 colname6||','||
9187 colname7||','||
9188 colname8||','||
9189 colname9||','||
9190 colname10||','||
9191 colname11||','||
9192 colname12||','||
9193 colname13||')
9194 values( :creationDate,
9195 :createdBy,
9196 :lastUpdateLogin,
9197 :lastUpdatedBy,
9198 :lastUpdatedDate,
9199 :versionId,
9200 :projectId,
9201 :resId,
9202 :elementId,
9203 :elementCode,
9204 :profileId,
9205 :amountTypeCode,
9206 :amountSubtypeCode,
9207 :amountTypeId,
9208 :amountSubTypeId,
9209 :currencyType,
9210 :currencyCode,
9211 :n1,
9212 :n2,
9213 :n3,
9214 :n4,
9215 :n5,
9216 :n6,
9217 :n7,
9218 :n8,
9219 :n9,
9220 :n10,
9221 :n11,
9222 :n12,
9223 :n13 )';
9224
9225 cursor_id := dbms_sql.open_cursor;
9226
9227 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9228
9229 dbms_sql.bind_variable(cursor_id,':creationDate',sysdate);
9230 dbms_sql.bind_variable(cursor_id,':createdBy',fnd_global.user_id);
9231 dbms_sql.bind_variable(cursor_id,':lastUpdateLogin',fnd_global.login_id);
9232 dbms_sql.bind_variable(cursor_id,':lastUpdatedBy',fnd_global.user_id);
9233 dbms_sql.bind_variable(cursor_id,':lastUpdatedDate',sysdate);
9234 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9235 dbms_sql.bind_variable(cursor_id,':resId',-2);
9236 dbms_sql.bind_variable(cursor_id,':projectId',l_project_id);
9237 dbms_sql.bind_variable(cursor_id,':profileId',l_period_profile_id);
9238 dbms_sql.bind_variable(cursor_id,':elementId',l_adj_element_id_tl);
9239 dbms_sql.bind_variable(cursor_id,':elementCode',l_element_code);
9240 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
9241 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
9242 dbms_sql.bind_variable(cursor_id,':amountTypeId',l_amount_type_id);
9243 dbms_sql.bind_variable(cursor_id,':amountSubtypeId',l_amount_subtype_id);
9244 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9245 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9246 dbms_sql.bind_variable(cursor_id,':n1',col1);
9247 dbms_sql.bind_variable(cursor_id,':n2',col2);
9248 dbms_sql.bind_variable(cursor_id,':n3',col3);
9249 dbms_sql.bind_variable(cursor_id,':n4',col4);
9250 dbms_sql.bind_variable(cursor_id,':n5',col5);
9251 dbms_sql.bind_variable(cursor_id,':n6',col6);
9252 dbms_sql.bind_variable(cursor_id,':n7',col7);
9253 dbms_sql.bind_variable(cursor_id,':n8',col8);
9254 dbms_sql.bind_variable(cursor_id,':n9',col9);
9255 dbms_sql.bind_variable(cursor_id,':n10',col10);
9256 dbms_sql.bind_variable(cursor_id,':n11',col11);
9257 dbms_sql.bind_variable(cursor_id,':n12',col12);
9258 dbms_sql.bind_variable(cursor_id,':n13',col13);
9259
9260
9261 l_rows_upd := dbms_sql.execute(cursor_id);
9262
9263 dbms_sql.close_cursor(cursor_id);
9264
9265
9266
9267 end;
9268
9269
9270 /*update denorm from budget_lines and resource assignment*/
9271
9272 /* for project level res id */
9273
9274 begin
9275
9276 select object_id
9277 into ll_ra_id_pl
9278 from pa_proj_periods_denorm
9279 where object_type_code = 'RES_ASSIGNMENT'
9280 and amount_type_code = l_amount_type_code
9281 and amount_subtype_code = l_amount_subtype_code
9282 and budget_version_id = l_budget_version_id
9283 and resource_assignment_id = l_ra_id_pl
9284 and currency_code = l_currency_code
9285 and currency_type = l_currency_type
9286 and object_id = l_ra_id_pl;
9287
9288 l_stmt := 'update pa_proj_periods_denorm
9289 set '|| colname1|| '= :n1,'||
9290 colname2|| '= :n2,'||
9291 colname3|| '= :n3,'||
9292 colname4|| '= :n4,'||
9293 colname5|| '= :n5,'||
9294 colname6|| '= :n6,'||
9295 colname7|| '= :n7,'||
9296 colname8|| '= :n8,'||
9297 colname9|| '= :n9,'||
9298 colname10|| '= :n10,'||
9299 colname11|| '= :n11,'||
9300 colname12|| '= :n12,'||
9301 colname13|| '= :n13
9302 where budget_version_id = :versionId
9303 and resource_assignment_id = :resId
9304 and object_id = :elementId
9305 and object_type_code = :elementCode
9306 and amount_type_code = :amountTypeCode
9307 and amount_subtype_code = :amountSubtypeCode
9308 and currency_type = :currencyType
9309 and currency_code = :currencyCode';
9310
9311 cursor_id := dbms_sql.open_cursor;
9312
9313 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9314 dbms_sql.bind_variable(cursor_id,':n1',l_denorm_amount1_pl);
9315 dbms_sql.bind_variable(cursor_id,':n2',l_denorm_amount2_pl);
9316 dbms_sql.bind_variable(cursor_id,':n3',l_denorm_amount3_pl);
9317 dbms_sql.bind_variable(cursor_id,':n4',l_denorm_amount4_pl);
9318 dbms_sql.bind_variable(cursor_id,':n5',l_denorm_amount5_pl);
9319 dbms_sql.bind_variable(cursor_id,':n6',l_denorm_amount6_pl);
9320 dbms_sql.bind_variable(cursor_id,':n7',l_denorm_amount7_pl);
9321 dbms_sql.bind_variable(cursor_id,':n8',l_denorm_amount8_pl);
9322 dbms_sql.bind_variable(cursor_id,':n9',l_denorm_amount9_pl);
9323 dbms_sql.bind_variable(cursor_id,':n10',l_denorm_amount10_pl);
9324 dbms_sql.bind_variable(cursor_id,':n11',l_denorm_amount11_pl);
9325 dbms_sql.bind_variable(cursor_id,':n12',l_denorm_amount12_pl);
9326 dbms_sql.bind_variable(cursor_id,':n13',l_denorm_amount13_pl);
9327
9328 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9329 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
9330 dbms_sql.bind_variable(cursor_id,':elementId',ll_ra_id_pl);
9331 dbms_sql.bind_variable(cursor_id,':elementCode',l_res_code);
9332 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
9333
9334 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
9335 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9336 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9337
9338
9339 l_rows_upd := dbms_sql.execute(cursor_id);
9340
9341 dbms_sql.close_cursor(cursor_id);
9342
9343 exception
9344 WHEN NO_DATA_FOUND THEN
9345
9346 l_stmt := 'insert into pa_proj_periods_denorm
9347 ( CREATION_DATE,
9348 CREATED_BY,
9349 LAST_UPDATE_LOGIN,
9350 LAST_UPDATED_BY,
9351 LAST_UPDATE_DATE,
9352 budget_version_id,
9353 project_id,
9354 resource_assignment_id,
9355 object_id,
9356 object_type_code,
9357 period_profile_id,
9358 amount_type_code,
9359 amount_subtype_code,
9360 amount_type_id,
9361 amount_subtype_id,
9362 currency_type,
9363 currency_code,'||
9364 colname1||','||
9365 colname2||','||
9366 colname3||','||
9367 colname4||','||
9368 colname5||','||
9369 colname6||','||
9370 colname7||','||
9371 colname8||','||
9372 colname9||','||
9373 colname10||','||
9374 colname11||','||
9375 colname12||','||
9376 colname13||')
9377 values( :creationDate,
9378 :createdBy,
9379 :lastUpdateLogin,
9380 :lastUpdatedBy,
9381 :lastUpdatedDate,
9382 :versionId,
9383 :projectId,
9384 :resId,
9385 :elementId,
9386 :elementCode,
9387 :profileId,
9388 :amountTypeCode,
9389 :amountSubtypeCode,
9390 :amountTypeId,
9391 :amountSubTypeId,
9392 :currencyType,
9393 :currencyCode,
9394 :n1,
9395 :n2,
9396 :n3,
9397 :n4,
9398 :n5,
9399 :n6,
9400 :n7,
9401 :n8,
9402 :n9,
9403 :n10,
9404 :n11,
9405 :n12,
9406 :n13 )';
9407
9408 cursor_id := dbms_sql.open_cursor;
9409
9410 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9411
9412 dbms_sql.bind_variable(cursor_id,':creationDate',sysdate);
9413 dbms_sql.bind_variable(cursor_id,':createdBy',fnd_global.user_id);
9414
9415 dbms_sql.bind_variable(cursor_id,':lastUpdateLogin',fnd_global.login_id);
9416 dbms_sql.bind_variable(cursor_id,':lastUpdatedBy',fnd_global.user_id);
9417 dbms_sql.bind_variable(cursor_id,':lastUpdatedDate',sysdate);
9418 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9419 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
9420 dbms_sql.bind_variable(cursor_id,':projectId',l_project_id);
9421 dbms_sql.bind_variable(cursor_id,':profileId',l_period_profile_id);
9422 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
9423 dbms_sql.bind_variable(cursor_id,':elementCode',l_res_code);
9424 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
9425
9426 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
9427 dbms_sql.bind_variable(cursor_id,':amountTypeId',l_amount_type_id);
9428
9429 dbms_sql.bind_variable(cursor_id,':amountSubtypeId',l_amount_subtype_id);
9430 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9431 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9432 dbms_sql.bind_variable(cursor_id,':n1',l_denorm_amount1_pl);
9433 dbms_sql.bind_variable(cursor_id,':n2',l_denorm_amount2_pl);
9434 dbms_sql.bind_variable(cursor_id,':n3',l_denorm_amount3_pl);
9435 dbms_sql.bind_variable(cursor_id,':n4',l_denorm_amount4_pl);
9436 dbms_sql.bind_variable(cursor_id,':n5',l_denorm_amount5_pl);
9437 dbms_sql.bind_variable(cursor_id,':n6',l_denorm_amount6_pl);
9438 dbms_sql.bind_variable(cursor_id,':n7',l_denorm_amount7_pl);
9439 dbms_sql.bind_variable(cursor_id,':n8',l_denorm_amount8_pl);
9440 dbms_sql.bind_variable(cursor_id,':n9',l_denorm_amount9_pl);
9441 dbms_sql.bind_variable(cursor_id,':n10',l_denorm_amount10_pl);
9442 dbms_sql.bind_variable(cursor_id,':n11',l_denorm_amount11_pl);
9443 dbms_sql.bind_variable(cursor_id,':n12',l_denorm_amount12_pl);
9444 dbms_sql.bind_variable(cursor_id,':n13',l_denorm_amount13_pl);
9445
9446
9447 l_rows_upd := dbms_sql.execute(cursor_id);
9448
9449 dbms_sql.close_cursor(cursor_id);
9450
9451
9452
9453 end;
9454
9455
9456 /* for task level res id */
9457
9458 begin
9459
9460 select object_id
9461 into ll_ra_id_tl
9462 from pa_proj_periods_denorm
9463 where object_type_code = 'RES_ASSIGNMENT'
9464 and amount_type_code = l_amount_type_code
9465 and amount_subtype_code = l_amount_subtype_code
9466 and budget_version_id = l_budget_version_id
9467 and resource_assignment_id = l_ra_id_tl
9468 and currency_code = l_currency_code
9469 and currency_type = l_currency_type
9470 and object_id = l_ra_id_tl;
9471
9472 l_stmt := 'update pa_proj_periods_denorm
9473 set '|| colname1|| '= :n1,'||
9474 colname2|| '= :n2,'||
9475 colname3|| '= :n3,'||
9476 colname4|| '= :n4,'||
9477 colname5|| '= :n5,'||
9478 colname6|| '= :n6,'||
9479 colname7|| '= :n7,'||
9480 colname8|| '= :n8,'||
9481 colname9|| '= :n9,'||
9482 colname10|| '= :n10,'||
9483 colname11|| '= :n11,'||
9484 colname12|| '= :n12,'||
9485 colname13|| '= :n13
9486 where budget_version_id = :versionId
9487 and resource_assignment_id = :resId
9488 and object_id = :elementId
9489 and object_type_code = :elementCode
9490 and amount_type_code = :amountTypeCode
9491 and amount_subtype_code = :amountSubtypeCode
9492 and currency_type = :currencyType
9493 and currency_code = :currencyCode';
9494
9495 cursor_id := dbms_sql.open_cursor;
9496
9497 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9498 dbms_sql.bind_variable(cursor_id,':n1',l_denorm_amount1_tl);
9499 dbms_sql.bind_variable(cursor_id,':n2',l_denorm_amount2_tl);
9500 dbms_sql.bind_variable(cursor_id,':n3',l_denorm_amount3_tl);
9501 dbms_sql.bind_variable(cursor_id,':n4',l_denorm_amount4_tl);
9502 dbms_sql.bind_variable(cursor_id,':n5',l_denorm_amount5_tl);
9503 dbms_sql.bind_variable(cursor_id,':n6',l_denorm_amount6_tl);
9504 dbms_sql.bind_variable(cursor_id,':n7',l_denorm_amount7_pl);
9505 dbms_sql.bind_variable(cursor_id,':n8',l_denorm_amount8_pl);
9506 dbms_sql.bind_variable(cursor_id,':n9',l_denorm_amount9_pl);
9507 dbms_sql.bind_variable(cursor_id,':n10',l_denorm_amount10_pl);
9508 dbms_sql.bind_variable(cursor_id,':n11',l_denorm_amount11_pl);
9509 dbms_sql.bind_variable(cursor_id,':n12',l_denorm_amount12_pl);
9510 dbms_sql.bind_variable(cursor_id,':n13',l_denorm_amount13_pl);
9511
9512 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9513 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
9514 dbms_sql.bind_variable(cursor_id,':elementId',ll_ra_id_tl);
9515 dbms_sql.bind_variable(cursor_id,':elementCode',l_res_code);
9516 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
9517
9518 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
9519 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9520 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9521
9522
9523 l_rows_upd := dbms_sql.execute(cursor_id);
9524
9525 dbms_sql.close_cursor(cursor_id);
9526
9527 exception
9528 WHEN NO_DATA_FOUND THEN
9529
9530 l_stmt := 'insert into pa_proj_periods_denorm
9531 ( CREATION_DATE,
9532 CREATED_BY,
9533 LAST_UPDATE_LOGIN,
9534 LAST_UPDATED_BY,
9535 LAST_UPDATE_DATE,
9536 budget_version_id,
9537 project_id,
9538 resource_assignment_id,
9539 object_id,
9540 object_type_code,
9541 period_profile_id,
9542 amount_type_code,
9543 amount_subtype_code,
9544 amount_type_id,
9545 amount_subtype_id,
9546 currency_type,
9547 currency_code,'||
9548 colname1||','||
9549 colname2||','||
9550 colname3||','||
9551 colname4||','||
9552 colname5||','||
9553 colname6||','||
9554 colname7||','||
9555 colname8||','||
9556 colname9||','||
9557 colname10||','||
9558 colname11||','||
9559 colname12||','||
9560 colname13||')
9561 values( :creationDate,
9562 :createdBy,
9563 :lastUpdateLogin,
9564 :lastUpdatedBy,
9565 :lastUpdatedDate,
9566 :versionId,
9567 :projectId,
9568 :resId,
9569 :elementId,
9570 :elementCode,
9571 :profileId,
9572 :amountTypeCode,
9573 :amountSubtypeCode,
9574 :amountTypeId,
9575 :amountSubTypeId,
9576 :currencyType,
9577 :currencyCode,
9578 :n1,
9579 :n2,
9580 :n3,
9581 :n4,
9582 :n5,
9583 :n6,
9584 :n7,
9585 :n8,
9586 :n9,
9587 :n10,
9588 :n11,
9589 :n12,
9590 :n13 )';
9591
9592 cursor_id := dbms_sql.open_cursor;
9593
9594 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9595
9596 dbms_sql.bind_variable(cursor_id,':creationDate',sysdate);
9597 dbms_sql.bind_variable(cursor_id,':createdBy',fnd_global.user_id);
9598
9599 dbms_sql.bind_variable(cursor_id,':lastUpdateLogin',fnd_global.login_id);
9600 dbms_sql.bind_variable(cursor_id,':lastUpdatedBy',fnd_global.user_id);
9601 dbms_sql.bind_variable(cursor_id,':lastUpdatedDate',sysdate);
9602 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9603 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
9604 dbms_sql.bind_variable(cursor_id,':projectId',l_project_id);
9605 dbms_sql.bind_variable(cursor_id,':profileId',l_period_profile_id);
9606 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
9607 dbms_sql.bind_variable(cursor_id,':elementCode',l_res_code);
9608 dbms_sql.bind_variable(cursor_id,':amountTypeCode',l_amount_type_code);
9609
9610 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode',l_amount_subtype_code);
9611 dbms_sql.bind_variable(cursor_id,':amountTypeId',l_amount_type_id);
9612
9613 dbms_sql.bind_variable(cursor_id,':amountSubtypeId',l_amount_subtype_id);
9614 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9615 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9616 dbms_sql.bind_variable(cursor_id,':n1',l_denorm_amount1_tl);
9617 dbms_sql.bind_variable(cursor_id,':n2',l_denorm_amount2_tl);
9618 dbms_sql.bind_variable(cursor_id,':n3',l_denorm_amount3_tl);
9619 dbms_sql.bind_variable(cursor_id,':n4',l_denorm_amount4_tl);
9620 dbms_sql.bind_variable(cursor_id,':n5',l_denorm_amount5_tl);
9621 dbms_sql.bind_variable(cursor_id,':n6',l_denorm_amount6_tl);
9622 dbms_sql.bind_variable(cursor_id,':n7',l_denorm_amount7_pl);
9623 dbms_sql.bind_variable(cursor_id,':n8',l_denorm_amount8_pl);
9624 dbms_sql.bind_variable(cursor_id,':n9',l_denorm_amount9_pl);
9625 dbms_sql.bind_variable(cursor_id,':n10',l_denorm_amount10_pl);
9626 dbms_sql.bind_variable(cursor_id,':n11',l_denorm_amount11_pl);
9627 dbms_sql.bind_variable(cursor_id,':n12',l_denorm_amount12_pl);
9628 dbms_sql.bind_variable(cursor_id,':n13',l_denorm_amount13_pl);
9629
9630
9631 l_rows_upd := dbms_sql.execute(cursor_id);
9632
9633 dbms_sql.close_cursor(cursor_id);
9634
9635
9636
9637 end;
9638
9639
9640 /* Need to update the Margin and Margin% Also*/
9641
9642
9643 /* for project level res id */
9644
9645 /* Get Revenue */
9646 begin
9647
9648 select period1,period2,period3,period4,period5,period6,period7,
9649 period8,period9,period10,period11,period12,period13
9650 into l_rev1_pl,l_rev2_pl,l_rev3_pl,l_rev4_pl,l_rev5_pl,l_rev6_pl,
9651 l_rev7_pl,l_rev8_pl,l_rev9_pl,l_rev10_pl,l_rev11_pl,l_rev12_pl,l_rev13_pl
9652 from pa_fp_sum_pv_v
9653 where resource_assignment_id = l_ra_id_pl
9654 and AMOUNT_TYPE_CODE = 'REVENUE';
9655
9656 /*
9657 l_stmt := 'select sum(nvl('||colname1||',0)),'||
9658 'sum(nvl('||colname2||',0)),'||
9659 'sum(nvl('||colname3||',0)),'||
9660 'sum(nvl('||colname4||',0)),'||
9661 'sum(nvl('||colname5||',0)),'||
9662 'sum(nvl('||colname6||',0)),'||
9663 'sum(nvl('||colname7||',0)),'||
9664 'sum(nvl('||colname8||',0)),'||
9665 'sum(nvl('||colname9||',0)),'||
9666 'sum(nvl('||colname10||',0)),'||
9667 'sum(nvl('||colname11||',0)),'||
9668 'sum(nvl('||colname12||',0)),'||
9669 'sum(nvl('||colname13||',0))'||'
9670 from pa_proj_periods_denorm
9671 where budget_version_id = :versionId
9672 and resource_assignment_id = :resId
9673 and object_id = :elementId
9674 and object_type_code = :elementCode
9675 and amount_type_code = :amountTypeCode
9676 and currency_type = :currencyType
9677 and currency_code = :currencyCode';
9678
9679 cursor_id := dbms_sql.open_cursor;
9680
9681 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9682
9683
9684 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9685 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
9686 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
9687 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
9688 dbms_sql.bind_variable(cursor_id,':amountTypeCode','REVENUE');
9689 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9690 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9691
9692 dbms_sql.define_column(cursor_id,1,l_rev1_pl);
9693 dbms_sql.define_column(cursor_id,2,l_rev2_pl);
9694 dbms_sql.define_column(cursor_id,3,l_rev3_pl);
9695 dbms_sql.define_column(cursor_id,4,l_rev4_pl);
9696 dbms_sql.define_column(cursor_id,5,l_rev5_pl);
9697 dbms_sql.define_column(cursor_id,6,l_rev6_pl);
9698 dbms_sql.define_column(cursor_id,7,l_rev7_pl);
9699 dbms_sql.define_column(cursor_id,8,l_rev8_pl);
9700 dbms_sql.define_column(cursor_id,9,l_rev9_pl);
9701 dbms_sql.define_column(cursor_id,10,l_rev10_pl);
9702 dbms_sql.define_column(cursor_id,11,l_rev11_pl);
9703 dbms_sql.define_column(cursor_id,12,l_rev12_pl);
9704 dbms_sql.define_column(cursor_id,13,l_rev13_pl);
9705
9706 l_rows_upd := dbms_sql.execute(cursor_id);
9707
9708 LOOP
9709 IF DBMS_SQL.FETCH_ROWS(cursor_id) = 0 THEN
9710 EXIT;
9711 END IF;
9712
9713 dbms_sql.column_value(cursor_id,1,l_rev1_pl);
9714 dbms_sql.column_value(cursor_id,2,l_rev2_pl);
9715 dbms_sql.column_value(cursor_id,3,l_rev3_pl);
9716 dbms_sql.column_value(cursor_id,4,l_rev4_pl);
9717 dbms_sql.column_value(cursor_id,5,l_rev5_pl);
9718 dbms_sql.column_value(cursor_id,6,l_rev6_pl);
9719 dbms_sql.column_value(cursor_id,7,l_rev7_pl);
9720 dbms_sql.column_value(cursor_id,8,l_rev8_pl);
9721 dbms_sql.column_value(cursor_id,9,l_rev9_pl);
9722 dbms_sql.column_value(cursor_id,10,l_rev10_pl);
9723 dbms_sql.column_value(cursor_id,11,l_rev11_pl);
9724 dbms_sql.column_value(cursor_id,12,l_rev12_pl);
9725 dbms_sql.column_value(cursor_id,13,l_rev13_pl);
9726
9727
9728
9729
9730
9731 END LOOP;
9732
9733 dbms_sql.close_cursor(cursor_id);
9734 */
9735
9736 end;
9737
9738 /* Get Cost */
9739
9740 begin
9741
9742 select period1,period2,period3,period4,period5,period6,period7,
9743 period8,period9,period10,period11,period12,period13
9744 into l_cost1_pl,l_cost2_pl,l_cost3_pl,l_cost4_pl,l_cost5_pl,l_cost6_pl,
9745 l_cost7_pl,l_cost8_pl,l_cost9_pl,l_cost10_pl,l_cost11_pl,l_cost12_pl,l_cost13_pl
9746 from pa_fp_sum_pv_v
9747 where resource_assignment_id = l_ra_id_pl
9748 and AMOUNT_TYPE_CODE = 'COST';
9749
9750 /*
9751
9752 l_stmt := 'select sum(nvl('||colname1||',0)),'||
9753 'sum(nvl('||colname2||',0)),'||
9754 'sum(nvl('||colname3||',0)),'||
9755 'sum(nvl('||colname4||',0)),'||
9756 'sum(nvl('||colname5||',0)),'||
9757 'sum(nvl('||colname6||',0)),'||
9758 'sum(nvl('||colname7||',0)),'||
9759 'sum(nvl('||colname8||',0)),'||
9760 'sum(nvl('||colname9||',0)),'||
9761 'sum(nvl('||colname10||',0)),'||
9762 'sum(nvl('||colname11||',0)),'||
9763 'sum(nvl('||colname12||',0)),'||
9764 'sum(nvl('||colname13||',0))'||'
9765 from pa_proj_periods_denorm
9766 where budget_version_id = :versionId
9767 and resource_assignment_id = :resId
9768 and object_id = :elementId
9769 and object_type_code = :elementCode
9770 and amount_type_code = :amountTypeCode
9771 and currency_type = :currencyType
9772 and currency_code = :currencyCode';
9773
9774 cursor_id := dbms_sql.open_cursor;
9775
9776 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9777
9778 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9779 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
9780 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
9781 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
9782 dbms_sql.bind_variable(cursor_id,':amountTypeCode','COST');
9783 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9784 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9785
9786
9787
9788 dbms_sql.define_column(cursor_id,1,l_cost1_pl);
9789 dbms_sql.define_column(cursor_id,2,l_cost2_pl);
9790 dbms_sql.define_column(cursor_id,3,l_cost3_pl);
9791 dbms_sql.define_column(cursor_id,4,l_cost4_pl);
9792 dbms_sql.define_column(cursor_id,5,l_cost5_pl);
9793 dbms_sql.define_column(cursor_id,6,l_cost6_pl);
9794 dbms_sql.define_column(cursor_id,7,l_cost7_pl);
9795 dbms_sql.define_column(cursor_id,8,l_cost8_pl);
9796 dbms_sql.define_column(cursor_id,9,l_cost9_pl);
9797 dbms_sql.define_column(cursor_id,10,l_cost10_pl);
9798 dbms_sql.define_column(cursor_id,11,l_cost11_pl);
9799 dbms_sql.define_column(cursor_id,12,l_cost12_pl);
9800 dbms_sql.define_column(cursor_id,13,l_cost13_pl);
9801
9802 l_rows_upd := dbms_sql.execute(cursor_id);
9803
9804 LOOP
9805 IF DBMS_SQL.FETCH_ROWS(cursor_id) = 0 THEN
9806 EXIT;
9807 END IF;
9808
9809 dbms_sql.column_value(cursor_id,1,l_cost1_pl);
9810 dbms_sql.column_value(cursor_id,2,l_cost2_pl);
9811 dbms_sql.column_value(cursor_id,3,l_cost3_pl);
9812 dbms_sql.column_value(cursor_id,4,l_cost4_pl);
9813 dbms_sql.column_value(cursor_id,5,l_cost5_pl);
9814 dbms_sql.column_value(cursor_id,6,l_cost6_pl);
9815 dbms_sql.column_value(cursor_id,7,l_cost7_pl);
9816 dbms_sql.column_value(cursor_id,8,l_cost8_pl);
9817 dbms_sql.column_value(cursor_id,9,l_cost9_pl);
9818 dbms_sql.column_value(cursor_id,10,l_cost10_pl);
9819 dbms_sql.column_value(cursor_id,11,l_cost11_pl);
9820 dbms_sql.column_value(cursor_id,12,l_cost12_pl);
9821 dbms_sql.column_value(cursor_id,13,l_cost13_pl);
9822
9823
9824
9825
9826
9827
9828 END LOOP;
9829
9830 dbms_sql.close_cursor(cursor_id);
9831 */
9832
9833 end;
9834
9835
9836
9837 /* Now populate MARGIN */
9838
9839 begin
9840
9841 l_stmt := 'update pa_proj_periods_denorm
9842 set '|| colname1|| '= :n1,'||
9843 colname2|| '= :n2,'||
9844 colname3|| '= :n3,'||
9845 colname4|| '= :n4,'||
9846 colname5|| '= :n5,'||
9847 colname6|| '= :n6,'||
9848 colname7|| '= :n7,'||
9849 colname8|| '= :n8,'||
9850 colname9|| '= :n9,'||
9851 colname10|| '= :n10,'||
9852 colname11|| '= :n11,'||
9853 colname12|| '= :n12,'||
9854 colname13|| '= :n13
9855 where budget_version_id = :versionId
9856 and resource_assignment_id = :resId
9857 and object_id = :elementId
9858 and object_type_code = :elementCode
9859 and amount_type_code = :amountTypeCode
9860 and amount_subtype_code = :amountSubtypeCode
9861 and currency_type = :currencyType
9862 and currency_code = :currencyCode';
9863
9864 cursor_id := dbms_sql.open_cursor;
9865
9866 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
9867 dbms_sql.bind_variable(cursor_id,':n1',(l_rev1_pl-l_cost1_pl));
9868 dbms_sql.bind_variable(cursor_id,':n2',(l_rev2_pl-l_cost2_pl));
9869 dbms_sql.bind_variable(cursor_id,':n3',(l_rev3_pl-l_cost3_pl));
9870 dbms_sql.bind_variable(cursor_id,':n4',(l_rev4_pl-l_cost4_pl));
9871 dbms_sql.bind_variable(cursor_id,':n5',(l_rev5_pl-l_cost5_pl));
9872 dbms_sql.bind_variable(cursor_id,':n6',(l_rev6_pl-l_cost6_pl));
9873 dbms_sql.bind_variable(cursor_id,':n7',(l_rev7_pl-l_cost7_pl));
9874 dbms_sql.bind_variable(cursor_id,':n8',(l_rev8_pl-l_cost8_pl));
9875 dbms_sql.bind_variable(cursor_id,':n9',(l_rev9_pl-l_cost9_pl));
9876 dbms_sql.bind_variable(cursor_id,':n10',(l_rev10_pl-l_cost10_pl));
9877 dbms_sql.bind_variable(cursor_id,':n11',(l_rev11_pl-l_cost11_pl));
9878 dbms_sql.bind_variable(cursor_id,':n12',(l_rev12_pl-l_cost12_pl));
9879 dbms_sql.bind_variable(cursor_id,':n13',(l_rev13_pl-l_cost13_pl));
9880
9881 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
9882 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
9883 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
9884 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
9885 dbms_sql.bind_variable(cursor_id,':amountTypeCode','MARGIN');
9886 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode','MARGIN');
9887 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
9888 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
9889
9890
9891 l_rows_upd := dbms_sql.execute(cursor_id);
9892
9893 dbms_sql.close_cursor(cursor_id);
9894
9895 end;
9896
9897 /* Now populate the MARGIN% */
9898
9899 begin
9900
9901 l_stmt := 'update pa_proj_periods_denorm
9902 set '|| colname1|| '= :n1,'||
9903 colname2|| '= :n2,'||
9904 colname3|| '= :n3,'||
9905 colname4|| '= :n4,'||
9906 colname5|| '= :n5,'||
9907 colname6|| '= :n6,'||
9908 colname7|| '= :n7,'||
9909 colname8|| '= :n8,'||
9910 colname9|| '= :n9,'||
9911 colname10|| '= :n10,'||
9912 colname11|| '= :n11,'||
9913 colname12|| '= :n12,'||
9914 colname13|| '= :n13
9915 where budget_version_id = :versionId
9916 and resource_assignment_id = :resId
9917 and object_id = :elementId
9918 and object_type_code = :elementCode
9919 and amount_type_code = :amountTypeCode
9920 and amount_subtype_code = :amountSubtypeCode
9921 and currency_type = :currencyType
9922 and currency_code = :currencyCode';
9923
9924 cursor_id := dbms_sql.open_cursor;
9925
9926
9927 if l_rev1_pl = 0 then
9928 l_mgn_per1_pl := 0;
9929 else
9930 l_mgn_per1_pl := 100*(l_rev1_pl-l_cost1_pl)/l_rev1_pl;
9931 end if;
9932
9933 if l_rev2_pl = 0 then
9934 l_mgn_per2_pl := 0;
9935 else
9936 l_mgn_per2_pl := 100*(l_rev2_pl-l_cost2_pl)/l_rev2_pl;
9937 end if;
9938
9939 if l_rev3_pl = 0 then
9940 l_mgn_per3_pl := 0;
9941 else
9942 l_mgn_per3_pl := 100*(l_rev3_pl-l_cost3_pl)/l_rev3_pl;
9943 end if;
9944
9945 if l_rev4_pl = 0 then
9946 l_mgn_per4_pl := 0;
9947 else
9948 l_mgn_per4_pl := 100*(l_rev4_pl-l_cost4_pl)/l_rev4_pl;
9949 end if;
9950
9951 if l_rev5_pl = 0 then
9952 l_mgn_per5_pl := 0;
9953 else
9954 l_mgn_per5_pl := 100*(l_rev5_pl-l_cost5_pl)/l_rev5_pl;
9955 end if;
9956
9957 if l_rev6_pl = 0 then
9958 l_mgn_per6_pl := 0;
9959 else
9960 l_mgn_per6_pl := 100*(l_rev6_pl-l_cost6_pl)/l_rev6_pl;
9961 end if;
9962
9963 if l_rev7_pl = 0 then
9964 l_mgn_per7_pl := 0;
9965 else
9966 l_mgn_per7_pl := 100*(l_rev7_pl-l_cost7_pl)/l_rev7_pl;
9967 end if;
9968
9969 if l_rev8_pl = 0 then
9970 l_mgn_per8_pl := 0;
9971 else
9972 l_mgn_per8_pl := 100*(l_rev8_pl-l_cost8_pl)/l_rev8_pl;
9973 end if;
9974
9975 if l_rev9_pl = 0 then
9976 l_mgn_per9_pl := 0;
9977 else
9978 l_mgn_per9_pl := 100*(l_rev9_pl-l_cost9_pl)/l_rev9_pl;
9979 end if;
9980
9981 if l_rev10_pl = 0 then
9982 l_mgn_per10_pl := 0;
9983 else
9984 l_mgn_per10_pl := 100*(l_rev10_pl-l_cost10_pl)/l_rev10_pl;
9985 end if;
9986
9987 if l_rev11_pl = 0 then
9988 l_mgn_per11_pl := 0;
9989 else
9990 l_mgn_per11_pl := 100*(l_rev11_pl-l_cost11_pl)/l_rev11_pl;
9991 end if;
9992
9993 if l_rev12_pl = 0 then
9994 l_mgn_per12_pl := 0;
9995 else
9996 l_mgn_per12_pl := 100*(l_rev12_pl-l_cost12_pl)/l_rev12_pl;
9997 end if;
9998
9999 if l_rev13_pl = 0 then
10000 l_mgn_per13_pl := 0;
10001 else
10002 l_mgn_per13_pl := 100*(l_rev13_pl-l_cost13_pl)/l_rev13_pl;
10003 end if;
10004
10005
10006
10007 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
10008 dbms_sql.bind_variable(cursor_id,':n1',l_mgn_per1_pl);
10009 dbms_sql.bind_variable(cursor_id,':n2',l_mgn_per2_pl);
10010 dbms_sql.bind_variable(cursor_id,':n3',l_mgn_per3_pl);
10011 dbms_sql.bind_variable(cursor_id,':n4',l_mgn_per4_pl);
10012 dbms_sql.bind_variable(cursor_id,':n5',l_mgn_per5_pl);
10013 dbms_sql.bind_variable(cursor_id,':n6',l_mgn_per6_pl);
10014 dbms_sql.bind_variable(cursor_id,':n7',l_mgn_per7_pl);
10015 dbms_sql.bind_variable(cursor_id,':n8',l_mgn_per8_pl);
10016 dbms_sql.bind_variable(cursor_id,':n9',l_mgn_per9_pl);
10017 dbms_sql.bind_variable(cursor_id,':n10',l_mgn_per10_pl);
10018 dbms_sql.bind_variable(cursor_id,':n11',l_mgn_per11_pl);
10019 dbms_sql.bind_variable(cursor_id,':n12',l_mgn_per12_pl);
10020 dbms_sql.bind_variable(cursor_id,':n13',l_mgn_per13_pl);
10021
10022 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
10023 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_pl);
10024 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_pl);
10025 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
10026 dbms_sql.bind_variable(cursor_id,':amountTypeCode','MARGIN_PERCENT');
10027 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode','MARGIN_PERCENT');
10028 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
10029 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
10030
10031
10032 l_rows_upd := dbms_sql.execute(cursor_id);
10033
10034 dbms_sql.close_cursor(cursor_id);
10035
10036 end;
10037
10038 /* for task level res id */
10039
10040 /* Get Revenue */
10041 begin
10042
10043 select period1,period2,period3,period4,period5,period6,period7,
10044 period8,period9,period10,period11,period12,period13
10045 into l_rev1_tl,l_rev2_tl,l_rev3_tl,l_rev4_tl,l_rev5_tl,l_rev6_tl,
10046 l_rev7_tl,l_rev8_tl,l_rev9_tl,l_rev10_tl,l_rev11_tl,l_rev12_tl,l_rev13_tl
10047 from pa_fp_sum_pv_v
10048 where resource_assignment_id = l_ra_id_pl
10049 and AMOUNT_TYPE_CODE = 'REVENUE';
10050
10051 /*
10052 l_stmt := 'select sum(nvl('||colname1||',0)),'||
10053 'sum(nvl('||colname2||',0)),'||
10054 'sum(nvl('||colname3||',0)),'||
10055 'sum(nvl('||colname4||',0)),'||
10056 'sum(nvl('||colname5||',0)),'||
10057 'sum(nvl('||colname6||',0)),'||
10058 'sum(nvl('||colname7||',0)),'||
10059 'sum(nvl('||colname8||',0)),'||
10060 'sum(nvl('||colname9||',0)),'||
10061 'sum(nvl('||colname10||',0)),'||
10062 'sum(nvl('||colname11||',0)),'||
10063 'sum(nvl('||colname12||',0)),'||
10064 'sum(nvl('||colname13||',0))'||'
10065 from pa_proj_periods_denorm
10066 where budget_version_id = :versionId
10067 and resource_assignment_id = :resId
10068 and object_id = :elementId
10069 and object_type_code = :elementCode
10070 and amount_type_code = :amountTypeCode
10071 and currency_type = :currencyType
10072 and currency_code = :currencyCode';
10073
10074 cursor_id := dbms_sql.open_cursor;
10075
10076 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
10077
10078 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
10079 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
10080 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
10081 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
10082 dbms_sql.bind_variable(cursor_id,':amountTypeCode','REVENUE');
10083 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
10084 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
10085
10086
10087
10088 dbms_sql.define_column(cursor_id,1,l_rev1_tl);
10089 dbms_sql.define_column(cursor_id,2,l_rev2_tl);
10090 dbms_sql.define_column(cursor_id,3,l_rev3_tl);
10091 dbms_sql.define_column(cursor_id,4,l_rev4_tl);
10092 dbms_sql.define_column(cursor_id,5,l_rev5_tl);
10093 dbms_sql.define_column(cursor_id,6,l_rev6_tl);
10094 dbms_sql.define_column(cursor_id,7,l_rev7_tl);
10095 dbms_sql.define_column(cursor_id,8,l_rev8_tl);
10096 dbms_sql.define_column(cursor_id,9,l_rev9_tl);
10097 dbms_sql.define_column(cursor_id,10,l_rev10_tl);
10098 dbms_sql.define_column(cursor_id,11,l_rev11_tl);
10099 dbms_sql.define_column(cursor_id,12,l_rev12_tl);
10100 dbms_sql.define_column(cursor_id,13,l_rev13_tl);
10101
10102 l_rows_upd := dbms_sql.execute(cursor_id);
10103
10104 LOOP
10105 IF DBMS_SQL.FETCH_ROWS(cursor_id) = 0 THEN
10106 EXIT;
10107 END IF;
10108
10109
10110 dbms_sql.column_value(cursor_id,1,l_rev1_tl);
10111 dbms_sql.column_value(cursor_id,2,l_rev2_tl);
10112 dbms_sql.column_value(cursor_id,3,l_rev3_tl);
10113 dbms_sql.column_value(cursor_id,4,l_rev4_tl);
10114 dbms_sql.column_value(cursor_id,5,l_rev5_tl);
10115 dbms_sql.column_value(cursor_id,6,l_rev6_tl);
10116 dbms_sql.column_value(cursor_id,7,l_rev7_tl);
10117 dbms_sql.column_value(cursor_id,8,l_rev8_tl);
10118 dbms_sql.column_value(cursor_id,9,l_rev9_tl);
10119 dbms_sql.column_value(cursor_id,10,l_rev10_tl);
10120 dbms_sql.column_value(cursor_id,11,l_rev11_tl);
10121 dbms_sql.column_value(cursor_id,12,l_rev12_tl);
10122 dbms_sql.column_value(cursor_id,13,l_rev13_tl);
10123
10124
10125
10126
10127
10128
10129 END LOOP;
10130
10131 dbms_sql.close_cursor(cursor_id);
10132 */
10133
10134 end;
10135
10136 /* Get Cost */
10137
10138 begin
10139
10140 select period1,period2,period3,period4,period5,period6,period7,
10141 period8,period9,period10,period11,period12,period13
10142 into l_cost1_tl,l_cost2_tl,l_cost3_tl,l_cost4_tl,l_cost5_tl,l_cost6_tl,
10143 l_cost7_tl,l_cost8_tl,l_cost9_tl,l_cost10_tl,l_cost11_tl,l_cost12_tl,l_cost13_tl
10144 from pa_fp_sum_pv_v
10145 where resource_assignment_id = l_ra_id_pl
10146 and AMOUNT_TYPE_CODE = 'COST';
10147
10148 /*
10149 l_stmt := 'select sum(nvl('||colname1||',0)),'||
10150 'sum(nvl('||colname2||',0)),'||
10151 'sum(nvl('||colname3||',0)),'||
10152 'sum(nvl('||colname4||',0)),'||
10153 'sum(nvl('||colname5||',0)),'||
10154 'sum(nvl('||colname6||',0)),'||
10155 'sum(nvl('||colname7||',0)),'||
10156 'sum(nvl('||colname8||',0)),'||
10157 'sum(nvl('||colname9||',0)),'||
10158 'sum(nvl('||colname10||',0)),'||
10159 'sum(nvl('||colname11||',0)),'||
10160 'sum(nvl('||colname12||',0)),'||
10161 'sum(nvl('||colname13||',0))'||'
10162 from pa_proj_periods_denorm
10163 where budget_version_id = :versionId
10164 and resource_assignment_id = :resId
10165 and object_id = :elementId
10166 and object_type_code = :elementCode
10167 and amount_type_code = :amountTypeCode
10168 and currency_type = :currencyType
10169 and currency_code = :currencyCode';
10170
10171 cursor_id := dbms_sql.open_cursor;
10172
10173 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
10174
10175 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
10176 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
10177 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
10178 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
10179 dbms_sql.bind_variable(cursor_id,':amountTypeCode','COST');
10180 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
10181 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
10182
10183
10184 dbms_sql.define_column(cursor_id,1,l_cost1_tl);
10185 dbms_sql.define_column(cursor_id,2,l_cost2_tl);
10186 dbms_sql.define_column(cursor_id,3,l_cost3_tl);
10187 dbms_sql.define_column(cursor_id,4,l_cost4_tl);
10188 dbms_sql.define_column(cursor_id,5,l_cost5_tl);
10189 dbms_sql.define_column(cursor_id,6,l_cost6_tl);
10190 dbms_sql.define_column(cursor_id,7,l_cost7_tl);
10191 dbms_sql.define_column(cursor_id,8,l_cost8_tl);
10192 dbms_sql.define_column(cursor_id,9,l_cost9_tl);
10193 dbms_sql.define_column(cursor_id,10,l_cost10_tl);
10194 dbms_sql.define_column(cursor_id,11,l_cost11_tl);
10195 dbms_sql.define_column(cursor_id,12,l_cost12_tl);
10196 dbms_sql.define_column(cursor_id,13,l_cost13_tl);
10197
10198 l_rows_upd := dbms_sql.execute(cursor_id);
10199
10200 LOOP
10201 IF DBMS_SQL.FETCH_ROWS(cursor_id) = 0 THEN
10202 EXIT;
10203 END IF;
10204
10205 dbms_sql.column_value(cursor_id,1,l_cost1_tl);
10206 dbms_sql.column_value(cursor_id,2,l_cost2_tl);
10207 dbms_sql.column_value(cursor_id,3,l_cost3_tl);
10208 dbms_sql.column_value(cursor_id,4,l_cost4_tl);
10209 dbms_sql.column_value(cursor_id,5,l_cost5_tl);
10210 dbms_sql.column_value(cursor_id,6,l_cost6_tl);
10211 dbms_sql.column_value(cursor_id,7,l_cost7_tl);
10212 dbms_sql.column_value(cursor_id,8,l_cost8_tl);
10213 dbms_sql.column_value(cursor_id,9,l_cost9_tl);
10214 dbms_sql.column_value(cursor_id,10,l_cost10_tl);
10215 dbms_sql.column_value(cursor_id,11,l_cost11_tl);
10216 dbms_sql.column_value(cursor_id,12,l_cost12_tl);
10217 dbms_sql.column_value(cursor_id,13,l_cost13_tl);
10218
10219
10220
10221
10222 END LOOP;
10223 dbms_sql.close_cursor(cursor_id);
10224 */
10225
10226 end;
10227
10228
10229
10230 /* Now populate MARGIN */
10231
10232 begin
10233
10234 l_stmt := 'update pa_proj_periods_denorm
10235 set '|| colname1|| '= :n1,'||
10236 colname2|| '= :n2,'||
10237 colname3|| '= :n3,'||
10238 colname4|| '= :n4,'||
10239 colname5|| '= :n5,'||
10240 colname6|| '= :n6,'||
10241 colname7|| '= :n7,'||
10242 colname8|| '= :n8,'||
10243 colname9|| '= :n9,'||
10244 colname10|| '= :n10,'||
10245 colname11|| '= :n11,'||
10246 colname12|| '= :n12,'||
10247 colname13|| '= :n13
10248 where budget_version_id = :versionId
10249 and resource_assignment_id = :resId
10250 and object_id = :elementId
10251 and object_type_code = :elementCode
10252 and amount_type_code = :amountTypeCode
10253 and amount_subtype_code = :amountSubtypeCode
10254 and currency_type = :currencyType
10255 and currency_code = :currencyCode';
10256
10257 cursor_id := dbms_sql.open_cursor;
10258
10259 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
10260 dbms_sql.bind_variable(cursor_id,':n1',(l_rev1_tl-l_cost1_tl));
10261 dbms_sql.bind_variable(cursor_id,':n2',(l_rev2_tl-l_cost2_tl));
10262 dbms_sql.bind_variable(cursor_id,':n3',(l_rev3_tl-l_cost3_tl));
10263 dbms_sql.bind_variable(cursor_id,':n4',(l_rev4_tl-l_cost4_tl));
10264 dbms_sql.bind_variable(cursor_id,':n5',(l_rev5_tl-l_cost5_tl));
10265 dbms_sql.bind_variable(cursor_id,':n6',(l_rev6_tl-l_cost6_tl));
10266 dbms_sql.bind_variable(cursor_id,':n7',(l_rev7_tl-l_cost7_tl));
10267 dbms_sql.bind_variable(cursor_id,':n8',(l_rev8_tl-l_cost8_tl));
10268 dbms_sql.bind_variable(cursor_id,':n9',(l_rev9_tl-l_cost9_tl));
10269 dbms_sql.bind_variable(cursor_id,':n10',(l_rev10_tl-l_cost10_tl));
10270 dbms_sql.bind_variable(cursor_id,':n11',(l_rev11_tl-l_cost11_tl));
10271 dbms_sql.bind_variable(cursor_id,':n12',(l_rev12_tl-l_cost12_tl));
10272 dbms_sql.bind_variable(cursor_id,':n13',(l_rev13_tl-l_cost13_tl));
10273
10274 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
10275 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
10276 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
10277 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
10278 dbms_sql.bind_variable(cursor_id,':amountTypeCode','MARGIN');
10279 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode','MARGIN');
10280 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
10281 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
10282
10283
10284 l_rows_upd := dbms_sql.execute(cursor_id);
10285
10286 dbms_sql.close_cursor(cursor_id);
10287
10288 end;
10289
10290 /* Now populate the MARGIN% */
10291
10292 begin
10293
10294 l_stmt := 'update pa_proj_periods_denorm
10295 set '|| colname1|| '= :n1,'||
10296 colname2|| '= :n2,'||
10297 colname3|| '= :n3,'||
10298 colname4|| '= :n4,'||
10299 colname5|| '= :n5,'||
10300 colname6|| '= :n6,'||
10301 colname7|| '= :n7,'||
10302 colname8|| '= :n8,'||
10303 colname9|| '= :n9,'||
10304 colname10|| '= :n10,'||
10305 colname11|| '= :n11,'||
10306 colname12|| '= :n12,'||
10307 colname13|| '= :n13
10308 where budget_version_id = :versionId
10309 and resource_assignment_id = :resId
10310 and object_id = :elementId
10311 and object_type_code = :elementCode
10312 and amount_type_code = :amountTypeCode
10313 and amount_subtype_code = :amountSubtypeCode
10314 and currency_type = :currencyType
10315 and currency_code = :currencyCode';
10316
10317 cursor_id := dbms_sql.open_cursor;
10318
10319
10320 if l_rev1_tl = 0 then
10321 l_mgn_per1_tl := 0;
10322 else
10323 l_mgn_per1_tl := 100*(l_rev1_tl-l_cost1_tl)/l_rev1_tl;
10324 end if;
10325
10326 if l_rev2_tl = 0 then
10327 l_mgn_per2_tl := 0;
10328 else
10329 l_mgn_per2_tl := 100*(l_rev2_tl-l_cost2_tl)/l_rev2_tl;
10330 end if;
10331
10332 if l_rev3_tl = 0 then
10333 l_mgn_per3_tl := 0;
10334 else
10335 l_mgn_per3_tl := 100*(l_rev3_tl-l_cost3_tl)/l_rev3_tl;
10336 end if;
10337
10338 if l_rev4_tl = 0 then
10339 l_mgn_per4_tl := 0;
10340 else
10341 l_mgn_per4_tl := 100*(l_rev4_tl-l_cost4_tl)/l_rev4_tl;
10342 end if;
10343
10344 if l_rev5_tl = 0 then
10345 l_mgn_per5_tl := 0;
10346 else
10347 l_mgn_per5_tl := 100*(l_rev5_tl-l_cost5_tl)/l_rev5_tl;
10348 end if;
10349
10350 if l_rev6_tl = 0 then
10351 l_mgn_per6_tl := 0;
10352 else
10353 l_mgn_per6_tl := 100*(l_rev6_tl-l_cost6_tl)/l_rev6_tl;
10354 end if;
10355
10356 if l_rev7_tl = 0 then
10357 l_mgn_per7_tl := 0;
10358 else
10359 l_mgn_per7_tl := 100*(l_rev7_tl-l_cost7_tl)/l_rev7_tl;
10360 end if;
10361
10362 if l_rev8_tl = 0 then
10363 l_mgn_per8_tl := 0;
10364 else
10365 l_mgn_per8_tl := 100*(l_rev8_tl-l_cost8_tl)/l_rev8_tl;
10366 end if;
10367
10368 if l_rev9_tl = 0 then
10369 l_mgn_per9_tl := 0;
10370 else
10371 l_mgn_per9_tl := 100*(l_rev9_tl-l_cost9_tl)/l_rev9_tl;
10372 end if;
10373
10374 if l_rev10_tl = 0 then
10375 l_mgn_per10_tl := 0;
10376 else
10377 l_mgn_per10_tl := 100*(l_rev10_tl-l_cost10_tl)/l_rev10_tl;
10378 end if;
10379
10380 if l_rev11_tl = 0 then
10381 l_mgn_per11_tl := 0;
10382 else
10383 l_mgn_per11_tl := 100*(l_rev11_tl-l_cost11_tl)/l_rev11_tl;
10384 end if;
10385
10386 if l_rev12_tl = 0 then
10387 l_mgn_per12_tl := 0;
10388 else
10389 l_mgn_per12_tl := 100*(l_rev12_tl-l_cost12_tl)/l_rev12_tl;
10390 end if;
10391
10392 if l_rev13_tl = 0 then
10393 l_mgn_per13_tl := 0;
10394 else
10395 l_mgn_per13_tl := 100*(l_rev13_tl-l_cost13_tl)/l_rev13_tl;
10396 end if;
10397
10398
10399 dbms_sql.parse(cursor_id,l_stmt,dbms_sql.native);
10400 dbms_sql.bind_variable(cursor_id,':n1',l_mgn_per1_tl);
10401 dbms_sql.bind_variable(cursor_id,':n2',l_mgn_per2_tl);
10402 dbms_sql.bind_variable(cursor_id,':n3',l_mgn_per3_tl);
10403 dbms_sql.bind_variable(cursor_id,':n4',l_mgn_per4_tl);
10404 dbms_sql.bind_variable(cursor_id,':n5',l_mgn_per5_tl);
10405 dbms_sql.bind_variable(cursor_id,':n6',l_mgn_per6_tl);
10406 dbms_sql.bind_variable(cursor_id,':n7',l_mgn_per7_tl);
10407 dbms_sql.bind_variable(cursor_id,':n8',l_mgn_per8_tl);
10408 dbms_sql.bind_variable(cursor_id,':n9',l_mgn_per9_tl);
10409 dbms_sql.bind_variable(cursor_id,':n10',l_mgn_per10_tl);
10410 dbms_sql.bind_variable(cursor_id,':n11',l_mgn_per11_tl);
10411 dbms_sql.bind_variable(cursor_id,':n12',l_mgn_per12_tl);
10412 dbms_sql.bind_variable(cursor_id,':n13',l_mgn_per13_tl);
10413
10414
10415 dbms_sql.bind_variable(cursor_id,':versionId',l_budget_version_id);
10416 dbms_sql.bind_variable(cursor_id,':resId',l_ra_id_tl);
10417 dbms_sql.bind_variable(cursor_id,':elementId',l_ra_id_tl);
10418 dbms_sql.bind_variable(cursor_id,':elementCode','RES_ASSIGNMENT');
10419 dbms_sql.bind_variable(cursor_id,':amountTypeCode','MARGIN_PERCENT');
10420 dbms_sql.bind_variable(cursor_id,':amountSubtypeCode','MARGIN_PERCENT');
10421 dbms_sql.bind_variable(cursor_id,':currencyType',l_currency_type);
10422 dbms_sql.bind_variable(cursor_id,':currencyCode',l_currency_code);
10423
10424
10425 l_rows_upd := dbms_sql.execute(cursor_id);
10426
10427 dbms_sql.close_cursor(cursor_id);
10428
10429 end;
10430
10431
10432 end if;
10433 /*end if 'PA'*/
10434
10435
10436 END;
10437
10438 /*End update denorm table*/
10439
10440 /****************************************************************************************/
10441 /*End of update pa_proj_periods_denorm*/
10442 /***************************************************************************************/
10443
10444
10445
10446
10447
10448 END pa_fp_update_tables;
10449
10450
10451
10452
10453 FUNCTION Get_Version_ID return NUMBER is
10454 BEGIN
10455 return pa_fin_plan_view_global.G_FP_VIEW_VERSION_ID;
10456 END Get_Version_ID;
10457
10458 FUNCTION Get_Org_ID return NUMBER is
10459 BEGIN
10460 return pa_fin_plan_view_global.G_FP_ORG_ID;
10461 END Get_Org_ID;
10462
10463 FUNCTION Get_Plan_Type_ID return NUMBER is
10464 BEGIN
10465 return pa_fin_plan_view_global.G_FP_PLAN_TYPE_ID;
10466 END Get_Plan_Type_ID;
10467
10468 FUNCTION Get_Resource_assignment_ID return NUMBER is
10469 BEGIN
10470 return pa_fin_plan_view_global.G_FP_RA_ID;
10471 END Get_Resource_assignment_ID;
10472
10473 FUNCTION Get_Amount_Type_code return VARCHAR2 is
10474 BEGIN
10475 return pa_fin_plan_view_global.G_FP_AMOUNT_TYPE_CODE;
10476 END Get_Amount_Type_code;
10477
10478 FUNCTION Get_Adj_Reason_Code return VARCHAR2 is
10479 BEGIN
10480 return pa_fin_plan_view_global.G_FP_ADJ_REASON_CODE;
10481 END Get_Adj_Reason_Code;
10482
10483 FUNCTION Get_Period_Start_Date1 return Date is
10484 BEGIN
10485 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE1;
10486 END Get_Period_Start_Date1;
10487
10488 FUNCTION Get_Period_Start_Date2 return Date is
10489 BEGIN
10490 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE2;
10491 END Get_Period_Start_Date2;
10492
10493 FUNCTION Get_Period_Start_Date3 return Date is
10494 BEGIN
10495 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE3;
10496 END Get_Period_Start_Date3;
10497
10498 FUNCTION Get_Period_Start_Date4 return Date is
10499 BEGIN
10500 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE4;
10501 END Get_Period_Start_Date4;
10502
10503 FUNCTION Get_Period_Start_Date5 return Date is
10504 BEGIN
10505 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE5;
10506 END Get_Period_Start_Date5;
10507
10508 FUNCTION Get_Period_Start_Date6 return Date is
10509 BEGIN
10510 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE6;
10511 END Get_Period_Start_Date6;
10512
10513 FUNCTION Get_Period_Start_Date7 return Date is
10514 BEGIN
10515 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE7;
10516 END Get_Period_Start_Date7;
10517
10518 FUNCTION Get_Period_Start_Date8 return Date is
10519 BEGIN
10520 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE8;
10521 END Get_Period_Start_Date8;
10522
10523 FUNCTION Get_Period_Start_Date9 return Date is
10524 BEGIN
10525 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE9;
10526 END Get_Period_Start_Date9;
10527
10528 FUNCTION Get_Period_Start_Date10 return Date is
10529 BEGIN
10530 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE10;
10531 END Get_Period_Start_Date10;
10532
10533 FUNCTION Get_Period_Start_Date11 return Date is
10534 BEGIN
10535 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE11;
10536 END Get_Period_Start_Date11;
10537
10538 FUNCTION Get_Period_Start_Date12 return Date is
10539 BEGIN
10540 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE12;
10541 END Get_Period_Start_Date12;
10542
10543
10544 FUNCTION Get_Period_Start_Date13 return Date is
10545 BEGIN
10546 return pa_fin_plan_view_global.G_FP_VIEW_START_DATE13;
10547 END Get_Period_Start_Date13;
10548
10549 FUNCTION Get_Plan_Start_Date return Date is
10550 BEGIN
10551 return pa_fin_plan_view_global.G_FP_PLAN_START_DATE;
10552 END Get_Plan_Start_Date;
10553
10554 FUNCTION Get_Plan_End_Date return Date is
10555 BEGIN
10556 return pa_fin_plan_view_global.G_FP_PLAN_END_DATE;
10557 END Get_Plan_End_Date;
10558
10559 FUNCTION Get_Currency_Code return VARCHAR2 is
10560 BEGIN
10561 return pa_fin_plan_view_global.G_FP_CURRENCY_CODE;
10562 END Get_Currency_Code;
10563
10564 FUNCTION Get_Currency_Type return VARCHAR2 is
10565 BEGIN
10566 return pa_fin_plan_view_global.G_FP_CURRENCY_TYPE;
10567 END Get_Currency_Type;
10568
10569
10570
10571
10572 END pa_fin_plan_view_global;