DBA Data[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;