DBA Data[Home] [Help]
Skip to content

PACKAGE BODY: APPS.PJI_FM_SUM_EXTR

Source


1 package body PJI_FM_SUM_EXTR as
2   /* $Header: PJISF02B.pls 120.21.12020000.4 2013/03/28 13:46:18 krkondur ship $ */
3 
4   -- -----------------------------------------------------
5   -- procedure POPULATE_TIME_DIMENSION
6   -- -----------------------------------------------------
7   procedure POPULATE_TIME_DIMENSION (p_worker_id in number) is
8 
9     l_process varchar2(30);
10 
11     l_return_status varchar2(255);
12     l_msg_count     number;
13     l_msg_data      varchar2(2000);
14 
15   begin
16 
17     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
18 
19     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.POPULATE_TIME_DIMENSION(p_worker_id);')) then
20       return;
21     end if;
22 
23     PJI_TIME_C.LOAD(null, null, l_return_status, l_msg_count, l_msg_data);
24 
25     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.POPULATE_TIME_DIMENSION(p_worker_id);');
26 
27     commit;
28 
29   end POPULATE_TIME_DIMENSION;
30 
31 
32   -- -----------------------------------------------------
33   -- procedure ORG_EXTR_INFO_TABLE
34   -- -----------------------------------------------------
35   procedure ORG_EXTR_INFO_TABLE (p_worker_id in number) is
36 
37     l_process varchar2(30);
38 
39   begin
40 
41     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
42 
43     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.ORG_EXTR_INFO_TABLE(p_worker_id);')) then
44       return;
45     end if;
46 
47     PJI_EXTRACTION_UTIL.UPDATE_ORG_EXTR_INFO;
48 
49     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.ORG_EXTR_INFO_TABLE(p_worker_id);');
50 
51     -- implicit commit
52     FND_STATS.GATHER_TABLE_STATS(ownname => PJI_UTILS.GET_PJI_SCHEMA_NAME,
53                                  tabname => 'PJI_ORG_EXTR_INFO',
54                                  percent => 10,
55                                  degree  => PJI_UTILS.
56                                             GET_DEGREE_OF_PARALLELISM);
57     -- implicit commit
58     FND_STATS.GATHER_INDEX_STATS(ownname => PJI_UTILS.GET_PJI_SCHEMA_NAME,
59                                  indname => 'PJI_ORG_EXTR_INFO_N1',
60                                  percent => 10);
61 
62     commit;
63 
64   end ORG_EXTR_INFO_TABLE;
65 
66 
67   -- -----------------------------------------------------
68   -- procedure CURR_CONV_TABLE
69   -- -----------------------------------------------------
70   procedure CURR_CONV_TABLE (p_worker_id in number) is
71 
72     l_process varchar2(30);
73     l_extract_commitments varchar2(30);
74 
75   begin
76 
77     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
78 
79     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.CURR_CONV_TABLE(p_worker_id);')) then
80       return;
81     end if;
82 
83     l_extract_commitments := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
84                              (PJI_FM_SUM_MAIN.g_process,
85                               'EXTRACT_COMMITMENTS');
86 
87     insert /*+ append */ into PJI_FM_AGGR_DLY_RATES
88     (
89       WORKER_ID,
90       PF_CURRENCY_CODE,
91       TIME_ID,
92       RATE,
93       MAU,
94       RATE2,
95       MAU2
96     )
97     select /*+ ordered
98                full(tmp)
99                full(rates) use_hash(rates) parallel(rates) */
100       -1 WORKER_ID,
101       tmp.PF_CURRENCY_CODE,
102       tmp.TIME_ID,
103       tmp.RATE,
104       tmp.MAU,
105       tmp.RATE2,
106       tmp.MAU2
107     from
108     (
109     select         -- for rows that have resource data only
110       p_worker_id WORKER_ID,
111       'PJI$NULL'  PF_CURRENCY_CODE,
112       -1          TIME_ID,
113       0           RATE,
114       0           MAU,
115       0           RATE2,
116       0           MAU2
117     from
118       dual
119     union all
120     select
121       p_worker_id                                         WORKER_ID,
122       PF_CURRENCY_CODE                                    PF_CURRENCY_CODE,
123       TIME_ID                                             TIME_ID,
124       PJI_UTILS.GET_GLOBAL_RATE_PRIMARY(PF_CURRENCY_CODE,
125                           to_date(to_char(TIME_ID), 'J')) RATE,
126       PJI_UTILS.GET_MAU_PRIMARY                           MAU,
127       PJI_UTILS.GET_GLOBAL_RATE_SECONDARY(PF_CURRENCY_CODE,
128                           to_date(to_char(TIME_ID), 'J')) RATE2,
129       PJI_UTILS.GET_MAU_SECONDARY                         MAU2
130     from
131       (
132       select /*+ ordered
133                  full(tmp1)     use_hash(tmp1)       parallel(tmp1)
134                  full(prj_info) use_hash(prj_info)   swap_join_inputs(prj_info)
135                  full(res_info) use_hash(res_info)   swap_join_inputs(res_info)
136               */ -- bug 3092751: Changes in hints
137         distinct
138         decode(invert.INVERT_ID,
139                'PRVDR_GL', to_number(to_char(tmp1.PRVDR_GL_DATE, 'J')),
140                'RECVR_GL', to_number(to_char(tmp1.RECVR_GL_DATE, 'J')),
141                'PRVDR_PA', to_number(to_char(tmp1.PRVDR_PA_DATE, 'J')),
142                'RECVR_PA', to_number(to_char(tmp1.RECVR_PA_DATE, 'J')),
143                'EXP',      to_number(to_char(tmp1.EXPENDITURE_ITEM_DATE, 'J')))
144                                                           TIME_ID,
145         decode(invert.INVERT_ID,
146                'PRVDR_GL', res_info.PF_CURRENCY_CODE,
147                'RECVR_GL', prj_info.PF_CURRENCY_CODE,
148                'PRVDR_PA', res_info.PF_CURRENCY_CODE,
149                'RECVR_PA', prj_info.PF_CURRENCY_CODE,
150                'EXP',      res_info.PF_CURRENCY_CODE)     PF_CURRENCY_CODE
151       from -- bug 3092751: Changes in table order
152         PJI_ORG_EXTR_INFO     prj_info,
153         (
154         select /*+ full(tmp1) parallel(tmp1) */
155           distinct
156           PROJECT_ID,
157           PROJECT_ORG_ID,
158           EXPENDITURE_ORG_ID,
159           PRVDR_GL_DATE,
160           RECVR_GL_DATE,
161           PRVDR_PA_DATE,
162           RECVR_PA_DATE,
163           EXPENDITURE_ITEM_DATE
164         from
165           PJI_FM_AGGR_FIN1 tmp1
166         where
167           WORKER_ID = p_worker_id
168         ) tmp1,
169         PJI_ORG_EXTR_INFO     res_info,
170         (
171           select 'PRVDR_GL' INVERT_ID from dual union all
172           select 'RECVR_GL' INVERT_ID from dual union all
173           select 'PRVDR_PA' INVERT_ID from dual union all
174           select 'RECVR_PA' INVERT_ID from dual union all
175           select 'EXP'      INVERT_ID from dual
176         ) invert
177       where
178         tmp1.PROJECT_ORG_ID     = prj_info.ORG_ID and
179         tmp1.EXPENDITURE_ORG_ID = res_info.ORG_ID
180       union
181       select /*+ ordered
182                  full(tmp2)     use_hash(tmp2)       parallel(tmp2)
183                  full(map)      use_hash(map)        parallel(map)
184                  full(prj_info) use_hash(prj_info)   swap_join_inputs(prj_info)
185                  full(res_info) use_hash(res_info)   swap_join_inputs(res_info)
186               */ -- bug 3092751: Changes in hints
187         distinct
188         decode(invert.INVERT_ID,
189                'PRVDR_GL', tmp2.PRVDR_GL_TIME_ID,
190                'RECVR_GL', tmp2.RECVR_GL_TIME_ID,
191                'PRVDR_PA', tmp2.PRVDR_PA_TIME_ID,
192                'RECVR_PA', tmp2.RECVR_PA_TIME_ID,
193                'EXP',      tmp2.EXPENDITURE_ITEM_TIME_ID)       TIME_ID,
194         decode(invert.INVERT_ID,
195                'PRVDR_GL', res_info.PF_CURRENCY_CODE,
196                'RECVR_GL', prj_info.PF_CURRENCY_CODE,
197                'PRVDR_PA', res_info.PF_CURRENCY_CODE,
198                'RECVR_PA', prj_info.PF_CURRENCY_CODE,
199                'EXP',      res_info.PF_CURRENCY_CODE)     PF_CURRENCY_CODE
200       from  -- bug 3092751: changes in table order
201         PJI_ORG_EXTR_INFO     prj_info,
202         PJI_FM_PROJ_BATCH_MAP map,
203         (
204         select /*+ full(tmp2) parallel(tmp2) */
205           distinct
206           PROJECT_ID,
207           EXPENDITURE_ORG_ID,
208           PRVDR_GL_TIME_ID,
209           RECVR_GL_TIME_ID,
210           PRVDR_PA_TIME_ID,
211           RECVR_PA_TIME_ID,
212           EXPENDITURE_ITEM_TIME_ID
213         from
214           PJI_FM_DNGL_FIN tmp2
215         where
216           WORKER_ID = 0 and
217           RECORD_TYPE = 'A'
218         ) tmp2,
219         PJI_ORG_EXTR_INFO     res_info,
220         (
221           select 'PRVDR_GL' INVERT_ID from dual union all
222           select 'RECVR_GL' INVERT_ID from dual union all
223           select 'PRVDR_PA' INVERT_ID from dual union all
224           select 'RECVR_PA' INVERT_ID from dual union all
225           select 'EXP'      INVERT_ID from dual
226         ) invert
227       where
228         map.WORKER_ID           = p_worker_id     and
229         map.PROJECT_ID          = tmp2.PROJECT_ID and
230         map.PROJECT_ORG_ID      = prj_info.ORG_ID and
231         tmp2.EXPENDITURE_ORG_ID = res_info.ORG_ID
232       union
233       select /*+ ordered
234                  full(tmp1)     use_hash(tmp1)       parallel(tmp1)
235                  full(prj_info) use_hash(prj_info)   swap_join_inputs(prj_info)
236               */  -- bug 3092751: changes in hints
237         distinct
238         decode(invert.INVERT_ID,
239                'GL', tmp1.GL_TIME_ID,
240                'PA', tmp1.PA_TIME_ID)                     TIME_ID,
241         prj_info.PF_CURRENCY_CODE
242       from  -- bug 3092751: changes in table order
243         PJI_ORG_EXTR_INFO     prj_info,
244         (
245         select /*+ parallel(tmp1) full(tmp1) */
246           distinct
247           PROJECT_ID,
248           PROJECT_ORG_ID,
249           GL_TIME_ID,
250           PA_TIME_ID
251         from
252           PJI_FM_AGGR_ACT1 tmp1
253         where
254           WORKER_ID = p_worker_id
255         ) tmp1,
256         (
257           select 'GL' INVERT_ID from dual union all
258           select 'PA' INVERT_ID from dual
259         ) invert
260       where
261         tmp1.PROJECT_ORG_ID = prj_info.ORG_ID
262       union
263       select /*+ ordered
264                  full(tmp2)     use_hash(tmp2)      parallel(tmp2)
265                  full(map)      use_hash(map)       parallel(map)
266                  full(prj_info) use_hash(prj_info)  swap_join_inputs(prj_info)
267               */  -- bug 3092751: changes in hints
268         distinct
269         decode(invert.INVERT_ID,
270                'GL', tmp2.GL_TIME_ID,
271                'PA', tmp2.PA_TIME_ID)                     TIME_ID,
272         prj_info.PF_CURRENCY_CODE
273       from  -- bug 3092751: changes in table order
274         PJI_ORG_EXTR_INFO     prj_info,
275         PJI_FM_PROJ_BATCH_MAP map,
276         (
277         select /*+ parallel(tmp2) full(tmp2) */
278           distinct
279           PROJECT_ID,
280           GL_TIME_ID,
281           PA_TIME_ID
282         from
283           PJI_FM_DNGL_ACT tmp2
284         where
285           WORKER_ID = 0
286         ) tmp2,
287         (
288           select 'GL' INVERT_ID from dual union all
289           select 'PA' INVERT_ID from dual
290         ) invert
291       where
292         map.WORKER_ID      = p_worker_id     and
293         map.PROJECT_ID     = tmp2.PROJECT_ID and
294         map.PROJECT_ORG_ID = prj_info.ORG_ID
295       union      -- commitments data
296       select /*+ ordered
297                  full(tmp2)     use_hash(tmp2)      parallel(tmp2)
298                  full(map)      use_hash(map)       parallel(map)
299                  full(prj_info) use_hash(prj_info)  swap_join_inputs(prj_info)
300               */
301         distinct
302         decode(invert.INVERT_ID,
303                'GL', tmp2.GL_TIME_ID,
304                'PA', tmp2.PA_TIME_ID)                     TIME_ID,
305         prj_info.PF_CURRENCY_CODE
306       from
307         PJI_ORG_EXTR_INFO     prj_info,
308         PJI_FM_PROJ_BATCH_MAP map,
309         /*  commented and changed as below for bug 6894858
310         (
311         select /*+ parallel(cmt) full(cmt)
312           distinct
313           cmt.PROJECT_ID,
314           to_number(to_char(nvl(cmt.CMT_PROMISED_DATE,
315                                 nvl(cmt.CMT_NEED_BY_DATE,
316                                     cmt.EXPENDITURE_ITEM_DATE)),
317                     'J')) GL_TIME_ID,
318           to_number(to_char(nvl(cmt.CMT_PROMISED_DATE,
319                                 nvl(cmt.CMT_NEED_BY_DATE,
320                                     cmt.EXPENDITURE_ITEM_DATE)),
321                     'J')) PA_TIME_ID
322         from
323           PA_COMMITMENT_TXNS cmt
324         where
325           l_extract_commitments = 'Y'
326         ) tmp2,
327         (
328           select 'GL' INVERT_ID from dual union all
329           select 'PA' INVERT_ID from dual
330         ) invert
331       where
332         l_extract_commitments = 'Y'             and
333         map.WORKER_ID         = p_worker_id     and
334         map.PROJECT_ID        = tmp2.PROJECT_ID and
335         map.PROJECT_ORG_ID    = prj_info.ORG_ID
336       )*/
337       (
338         select
339           to_number(to_char(trunc(sysdate),
340                     'J')) GL_TIME_ID,
341           to_number(to_char(trunc(sysdate),
342                     'J')) PA_TIME_ID
343         from
344           dual
345         ) tmp2,
346         (
347           select 'GL' INVERT_ID from dual union all
348           select 'PA' INVERT_ID from dual
349         ) invert
350       where
351         l_extract_commitments = 'Y'             and
352         map.WORKER_ID         = p_worker_id     and
353         --map.PROJECT_ID        = tmp2.PROJECT_ID and --6894858
354         map.PROJECT_ORG_ID    = prj_info.ORG_ID
355       )
356     ) tmp,
357       PJI_FM_AGGR_DLY_RATES rates
358     where
359       -1                   = rates.WORKER_ID        (+) and
360       tmp.PF_CURRENCY_CODE = rates.PF_CURRENCY_CODE (+) and
361       tmp.TIME_ID          = rates.TIME_ID          (+) and
362       rates.WORKER_ID      is null;
363 
364     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.CURR_CONV_TABLE(p_worker_id);');
365 
366     commit;
367 
368   end CURR_CONV_TABLE;
369 
370 
371   -- -----------------------------------------------------
372   -- procedure DANGLING_FIN_ROWS
373   -- -----------------------------------------------------
374   procedure DANGLING_FIN_ROWS (p_worker_id in number) is
375 
376     l_process           varchar2(30);
377 
378     l_txn_currency_flag varchar2(1);
379     l_g2_currency_flag  varchar2(1);
380     l_g1_currency_code  varchar2(30);
381     l_g2_currency_code  varchar2(30);
382 
383   begin
384 
385     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
386 
387     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.DANGLING_FIN_ROWS(p_worker_id);')) then
388       return;
389     end if;
390 
391     select
392       TXN_CURR_FLAG,
393       GLOBAL_CURR2_FLAG
394     into
395       l_txn_currency_flag,
396       l_g2_currency_flag
397     from
398       PJI_SYSTEM_SETTINGS;
399 
400     l_g1_currency_code := PJI_UTILS.GET_GLOBAL_PRIMARY_CURRENCY;
401     l_g2_currency_code := PJI_UTILS.GET_GLOBAL_SECONDARY_CURRENCY;
402 
403     insert /*+ noappend parallel(fin2_i) */ into PJI_FM_AGGR_FIN2 fin2_i -- in DANGLING_FIN_ROWS
404     ( --Bug 7139059
405       WORKER_ID,
406       DANGLING_RECVR_GL_RATE_FLAG,
407       DANGLING_RECVR_GL_RATE2_FLAG,
408       DANGLING_RECVR_PA_RATE_FLAG,
409       DANGLING_RECVR_PA_RATE2_FLAG,
410       DANGLING_PRVDR_EN_TIME_FLAG,
411       DANGLING_RECVR_EN_TIME_FLAG,
412       DANGLING_EXP_EN_TIME_FLAG,
413       DANGLING_PRVDR_GL_TIME_FLAG,
414       DANGLING_RECVR_GL_TIME_FLAG,
415       DANGLING_EXP_GL_TIME_FLAG,
416       DANGLING_PRVDR_PA_TIME_FLAG,
417       DANGLING_RECVR_PA_TIME_FLAG,
418       DANGLING_EXP_PA_TIME_FLAG,
419       ROW_ID,
420       PJI_PROJECT_RECORD_FLAG,
421       PJI_RESOURCE_RECORD_FLAG,
422       RECORD_TYPE,
423       CMT_RECORD_TYPE,
424       PROJECT_ID,
425       PROJECT_ORG_ID,
426       PROJECT_ORGANIZATION_ID,
427       PROJECT_TYPE_CLASS,
428       PERSON_ID,
429       EXPENDITURE_ORG_ID,
430       EXPENDITURE_ORGANIZATION_ID,
431       EXP_EVT_TYPE_ID,
432       WORK_TYPE_ID,
433       JOB_ID,
434       TASK_ID,
435       VENDOR_ID,
436       EXPENDITURE_TYPE,
437       EVENT_TYPE,
438       EVENT_TYPE_CLASSIFICATION,
439       EXPENDITURE_CATEGORY,
440       REVENUE_CATEGORY,
441       NON_LABOR_RESOURCE,
442       BOM_LABOR_RESOURCE_ID,
443       BOM_EQUIPMENT_RESOURCE_ID,
444       INVENTORY_ITEM_ID,
445       PO_LINE_ID,
446       ASSIGNMENT_ID,
447       SYSTEM_LINKAGE_FUNCTION,
448       RESOURCE_CLASS_CODE,
449       RECVR_GL_TIME_ID,
450       GL_PERIOD_NAME,
451       PRVDR_GL_TIME_ID,
452       RECVR_PA_TIME_ID,
453       PA_PERIOD_NAME,
454       PRVDR_PA_TIME_ID,
455       EXPENDITURE_ITEM_TIME_ID,
456       PJ_GL_CALENDAR_ID,
457       PJ_PA_CALENDAR_ID,
458       RS_GL_CALENDAR_ID,
459       RS_PA_CALENDAR_ID,
460       PRJ_REVENUE,
461       PRJ_LABOR_REVENUE,
462       PRJ_REVENUE_WRITEOFF,
463       PRJ_RAW_COST,
464       PRJ_BRDN_COST,
465       PRJ_BILL_RAW_COST,
466       PRJ_BILL_BRDN_COST,
467       PRJ_LABOR_RAW_COST,
468       PRJ_LABOR_BRDN_COST,
469       PRJ_BILL_LABOR_RAW_COST,
470       PRJ_BILL_LABOR_BRDN_COST,
471       POU_REVENUE,
472       POU_LABOR_REVENUE,
473       POU_REVENUE_WRITEOFF,
474       POU_RAW_COST,
475       POU_BRDN_COST,
476       POU_BILL_RAW_COST,
477       POU_BILL_BRDN_COST,
478       POU_LABOR_RAW_COST,
479       POU_LABOR_BRDN_COST,
480       POU_BILL_LABOR_RAW_COST,
481       POU_BILL_LABOR_BRDN_COST,
482       EOU_RAW_COST,
483       EOU_BRDN_COST,
484       EOU_BILL_RAW_COST,
485       EOU_BILL_BRDN_COST,
486       TXN_CURRENCY_CODE,
487       TXN_REVENUE,
488       TXN_RAW_COST,
489       TXN_BRDN_COST,
490       TXN_BILL_RAW_COST,
491       TXN_BILL_BRDN_COST,
492       LABOR_HRS,
493       BILL_LABOR_HRS,
494       GG1_REVENUE,
495       GG1_LABOR_REVENUE,
496       GG1_REVENUE_WRITEOFF,
497       GG1_RAW_COST,
498       GG1_BRDN_COST,
499       GG1_BILL_RAW_COST,
500       GG1_BILL_BRDN_COST,
501       GG1_LABOR_RAW_COST,
502       GG1_LABOR_BRDN_COST,
503       GG1_BILL_LABOR_RAW_COST,
504       GG1_BILL_LABOR_BRDN_COST,
505       GP1_REVENUE,
506       GP1_LABOR_REVENUE,
507       GP1_REVENUE_WRITEOFF,
508       GP1_RAW_COST,
509       GP1_BRDN_COST,
510       GP1_BILL_RAW_COST,
511       GP1_BILL_BRDN_COST,
512       GP1_LABOR_RAW_COST,
513       GP1_LABOR_BRDN_COST,
514       GP1_BILL_LABOR_RAW_COST,
515       GP1_BILL_LABOR_BRDN_COST,
516       GG2_REVENUE,
517       GG2_LABOR_REVENUE,
518       GG2_REVENUE_WRITEOFF,
519       GG2_RAW_COST,
520       GG2_BRDN_COST,
521       GG2_BILL_RAW_COST,
522       GG2_BILL_BRDN_COST,
523       GG2_LABOR_RAW_COST,
524       GG2_LABOR_BRDN_COST,
525       GG2_BILL_LABOR_RAW_COST,
526       GG2_BILL_LABOR_BRDN_COST,
527       GP2_REVENUE,
528       GP2_LABOR_REVENUE,
529       GP2_REVENUE_WRITEOFF,
530       GP2_RAW_COST,
531       GP2_BRDN_COST,
532       GP2_BILL_RAW_COST,
533       GP2_BILL_BRDN_COST,
534       GP2_LABOR_RAW_COST,
535       GP2_LABOR_BRDN_COST,
536       GP2_BILL_LABOR_RAW_COST,
537       GP2_BILL_LABOR_BRDN_COST,
538       TOTAL_HRS_A,
539       BILL_HRS_A,
540       CBS_ELEMENT_ID   /*Added for CBS Changes */
541     )
542     select
543       p_worker_id,
544       tmp2.DANGLING_RECVR_GL_RATE_FLAG,
545       tmp2.DANGLING_RECVR_GL_RATE2_FLAG,
546       tmp2.DANGLING_RECVR_PA_RATE_FLAG,
547       tmp2.DANGLING_RECVR_PA_RATE2_FLAG,
548       tmp2.DANGLING_PRVDR_EN_TIME_FLAG,
549       tmp2.DANGLING_RECVR_EN_TIME_FLAG,
550       tmp2.DANGLING_EXP_EN_TIME_FLAG,
551       tmp2.DANGLING_PRVDR_GL_TIME_FLAG,
552       tmp2.DANGLING_RECVR_GL_TIME_FLAG,
553       tmp2.DANGLING_EXP_GL_TIME_FLAG,
554       tmp2.DANGLING_PRVDR_PA_TIME_FLAG,
555       tmp2.DANGLING_RECVR_PA_TIME_FLAG,
556       tmp2.DANGLING_EXP_PA_TIME_FLAG,
557       tmp2.ROW_ID,
558       tmp2.PJI_PROJECT_RECORD_FLAG,
559       tmp2.PJI_RESOURCE_RECORD_FLAG,
560       tmp2.RECORD_TYPE,
561       tmp2.CMT_RECORD_TYPE,
562       tmp2.PROJECT_ID,
563       tmp2.PROJECT_ORG_ID,
564       tmp2.PROJECT_ORGANIZATION_ID,
565       tmp2.PROJECT_TYPE_CLASS,
566       tmp2.PERSON_ID,
567       tmp2.EXPENDITURE_ORG_ID,
568       tmp2.EXPENDITURE_ORGANIZATION_ID,
569       tmp2.EXP_EVT_TYPE_ID,
570       tmp2.WORK_TYPE_ID,
571       tmp2.JOB_ID,
572       tmp2.TASK_ID,
573       tmp2.VENDOR_ID,
574       tmp2.EXPENDITURE_TYPE,
575       tmp2.EVENT_TYPE,
576       tmp2.EVENT_TYPE_CLASSIFICATION,
577       tmp2.EXPENDITURE_CATEGORY,
578       tmp2.REVENUE_CATEGORY,
579       tmp2.NON_LABOR_RESOURCE,
580       tmp2.BOM_LABOR_RESOURCE_ID,
581       tmp2.BOM_EQUIPMENT_RESOURCE_ID,
582       tmp2.INVENTORY_ITEM_ID,
583       tmp2.PO_LINE_ID,
584       tmp2.ASSIGNMENT_ID,
585       tmp2.SYSTEM_LINKAGE_FUNCTION,
586       tmp2.RESOURCE_CLASS_CODE,
587       tmp2.RECVR_GL_TIME_ID,
588       tmp2.GL_PERIOD_NAME,
589       tmp2.PRVDR_GL_TIME_ID,
590       tmp2.RECVR_PA_TIME_ID,
591       tmp2.PA_PERIOD_NAME,
592       tmp2.PRVDR_PA_TIME_ID,
593       tmp2.EXPENDITURE_ITEM_TIME_ID,
594       tmp2.PJ_GL_CALENDAR_ID,
595       tmp2.PJ_PA_CALENDAR_ID,
596       tmp2.RS_GL_CALENDAR_ID,
597       tmp2.RS_PA_CALENDAR_ID,
598       tmp2.PRJ_REVENUE,
599       tmp2.PRJ_LABOR_REVENUE,
600       tmp2.PRJ_REVENUE_WRITEOFF,
601       tmp2.PRJ_RAW_COST,
602       tmp2.PRJ_BRDN_COST,
603       tmp2.PRJ_BILL_RAW_COST,
604       tmp2.PRJ_BILL_BRDN_COST,
605       tmp2.PRJ_LABOR_RAW_COST,
606       tmp2.PRJ_LABOR_BRDN_COST,
607       tmp2.PRJ_BILL_LABOR_RAW_COST,
608       tmp2.PRJ_BILL_LABOR_BRDN_COST,
609       tmp2.POU_REVENUE,
610       tmp2.POU_LABOR_REVENUE,
611       tmp2.POU_REVENUE_WRITEOFF,
612       tmp2.POU_RAW_COST,
613       tmp2.POU_BRDN_COST,
614       tmp2.POU_BILL_RAW_COST,
615       tmp2.POU_BILL_BRDN_COST,
616       tmp2.POU_LABOR_RAW_COST,
617       tmp2.POU_LABOR_BRDN_COST,
618       tmp2.POU_BILL_LABOR_RAW_COST,
619       tmp2.POU_BILL_LABOR_BRDN_COST,
620       tmp2.EOU_RAW_COST,
621       tmp2.EOU_BRDN_COST,
622       tmp2.EOU_BILL_RAW_COST,
623       tmp2.EOU_BILL_BRDN_COST,
624       tmp2.TXN_CURRENCY_CODE,
625       tmp2.TXN_REVENUE,
626       tmp2.TXN_RAW_COST,
627       tmp2.TXN_BRDN_COST,
628       tmp2.TXN_BILL_RAW_COST,
629       tmp2.TXN_BILL_BRDN_COST,
630       tmp2.LABOR_HRS,
631       tmp2.BILL_LABOR_HRS,
632       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
633              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
634              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
635              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
636              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
637              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
638              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
639              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
640              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
641              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
642              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
643              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
644              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
645              tmp2.DANGLING_EXP_PA_TIME_FLAG,
646              'Y', decode(tmp2.TXN_CURRENCY_CODE,
647                          l_g1_currency_code,
648                          tmp2.TXN_REVENUE,
649                          round(tmp2.POU_REVENUE *
650                                tmp2.PRJ_GL_RATE1 /
651                                PRJ_GL_MAU1) * PRJ_GL_MAU1),
652                   to_number(null))                  GG1_REVENUE,
653       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
654              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
655              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
656              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
657              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
658              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
659              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
660              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
661              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
662              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
663              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
664              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
665              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
666              tmp2.DANGLING_EXP_PA_TIME_FLAG,
667              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
668                   --        l_g1_currency_code,
669                   --        tmp2.TXN_LABOR_REVENUE,
670                          round(tmp2.POU_LABOR_REVENUE *
671                                tmp2.PRJ_GL_RATE1 /
672                                PRJ_GL_MAU1) * PRJ_GL_MAU1
673                   -- )
674                   ,
675                   to_number(null))                  GG1_LABOR_REVENUE,
676       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
677              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
678              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
679              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
680              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
681              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
682              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
683              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
684              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
685              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
686              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
687              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
688              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
689              tmp2.DANGLING_EXP_PA_TIME_FLAG,
690              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
691                   --        l_g1_currency_code,
692                   --        tmp2.TXN_REVENUE_WRITEOFF,
693                          round(tmp2.POU_REVENUE_WRITEOFF *
694                                tmp2.PRJ_GL_RATE1 /
695                                PRJ_GL_MAU1) * PRJ_GL_MAU1
696                   -- )
697                   ,
698                   to_number(null))                  GG1_REVENUE_WRITEOFF,
699       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
700              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
701              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
702              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
703              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
704              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
705              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
706              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
707              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
708              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
709              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
710              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
711              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
712              tmp2.DANGLING_EXP_PA_TIME_FLAG,
713              'Y', decode(tmp2.TXN_CURRENCY_CODE,
714                          l_g1_currency_code,
715                          tmp2.TXN_RAW_COST,
716                          round(tmp2.POU_RAW_COST *
717                                tmp2.PRJ_GL_RATE1 /
718                                PRJ_GL_MAU1) * PRJ_GL_MAU1),
719                   to_number(null))                  GG1_RAW_COST,
720       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
721              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
722              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
723              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
724              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
725              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
726              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
727              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
728              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
729              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
730              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
731              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
732              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
733              tmp2.DANGLING_EXP_PA_TIME_FLAG,
734              'Y', decode(tmp2.TXN_CURRENCY_CODE,
735                          l_g1_currency_code,
736                          tmp2.TXN_BRDN_COST,
737                          round(tmp2.POU_BRDN_COST *
738                                tmp2.PRJ_GL_RATE1 /
739                                PRJ_GL_MAU1) * PRJ_GL_MAU1),
740                   to_number(null))                  GG1_BRDN_COST,
741       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
742              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
743              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
744              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
745              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
746              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
747              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
748              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
749              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
750              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
751              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
752              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
753              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
754              tmp2.DANGLING_EXP_PA_TIME_FLAG,
755              'Y', decode(tmp2.TXN_CURRENCY_CODE,
756                          l_g1_currency_code,
757                          tmp2.TXN_BILL_RAW_COST,
758                          round(tmp2.POU_BILL_RAW_COST *
759                                tmp2.PRJ_GL_RATE1 /
760                                PRJ_GL_MAU1) * PRJ_GL_MAU1),
761                   to_number(null))                  GG1_BILL_RAW_COST,
762       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
763              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
764              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
765              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
766              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
767              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
768              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
769              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
770              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
771              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
772              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
773              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
774              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
775              tmp2.DANGLING_EXP_PA_TIME_FLAG,
776              'Y', decode(tmp2.TXN_CURRENCY_CODE,
777                          l_g1_currency_code,
778                          tmp2.TXN_BILL_BRDN_COST,
779                          round(tmp2.POU_BILL_BRDN_COST *
780                                tmp2.PRJ_GL_RATE1 /
781                                PRJ_GL_MAU1) * PRJ_GL_MAU1),
782                   to_number(null))                  GG1_BILL_BRDN_COST,
783       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
784              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
785              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
786              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
787              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
788              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
789              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
790              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
791              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
792              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
793              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
794              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
795              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
796              tmp2.DANGLING_EXP_PA_TIME_FLAG,
797              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
798                   --        l_g1_currency_code,
799                   --        tmp2.TXN_LABOR_RAW_COST,
800                          round(tmp2.POU_LABOR_RAW_COST *
801                                tmp2.PRJ_GL_RATE1 /
802                                PRJ_GL_MAU1) * PRJ_GL_MAU1
803                   -- )
804                   ,
805                   to_number(null))                  GG1_LABOR_RAW_COST,
806       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
807              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
808              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
809              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
810              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
811              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
812              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
813              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
814              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
815              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
816              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
817              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
818              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
819              tmp2.DANGLING_EXP_PA_TIME_FLAG,
820              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
821                   --        l_g1_currency_code,
822                   --        tmp2.TXN_LABOR_BRDN_COST,
823                          round(tmp2.POU_LABOR_BRDN_COST *
824                                tmp2.PRJ_GL_RATE1 /
825                                PRJ_GL_MAU1) * PRJ_GL_MAU1
826                   -- )
827                   ,
828                   to_number(null))                  GG1_LABOR_BRDN_COST,
829       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
830              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
831              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
832              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
833              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
834              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
835              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
836              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
837              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
838              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
839              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
840              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
841              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
842              tmp2.DANGLING_EXP_PA_TIME_FLAG,
843              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
844                   --        l_g1_currency_code,
845                   --        tmp2.TXN_BILL_LABOR_RAW_COST,
846                          round(tmp2.POU_BILL_LABOR_RAW_COST *
847                                tmp2.PRJ_GL_RATE1 /
848                                PRJ_GL_MAU1) * PRJ_GL_MAU1
849                   -- )
850                   ,
851                   to_number(null))                  GG1_BILL_LABOR_RAW_COST,
852       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
853              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
854              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
855              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
856              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
857              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
858              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
859              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
860              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
861              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
862              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
863              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
864              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
865              tmp2.DANGLING_EXP_PA_TIME_FLAG,
866              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
867                   --        l_g1_currency_code,
868                   --        tmp2.TXN_BILL_LABOR_BRDN_COST,
869                          round(tmp2.POU_BILL_LABOR_BRDN_COST *
870                                tmp2.PRJ_GL_RATE1 /
871                                PRJ_GL_MAU1) * PRJ_GL_MAU1
872                   -- )
873                   ,
874                   to_number(null))                  GG1_BILL_LABOR_BRDN_COST,
875       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
876              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
877              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
878              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
879              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
880              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
881              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
882              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
883              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
884              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
885              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
886              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
887              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
888              tmp2.DANGLING_EXP_PA_TIME_FLAG,
889              'Y', decode(tmp2.TXN_CURRENCY_CODE,
890                          l_g1_currency_code,
891                          tmp2.TXN_REVENUE,
892                          round(tmp2.POU_REVENUE *
893                                tmp2.PRJ_PA_RATE1 /
894                                PRJ_PA_MAU1) * PRJ_PA_MAU1),
895                   to_number(null))                  GP1_REVENUE,
896       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
897              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
898              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
899              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
900              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
901              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
902              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
903              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
904              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
905              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
906              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
907              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
908              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
909              tmp2.DANGLING_EXP_PA_TIME_FLAG,
910              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
911                   --        l_g1_currency_code,
912                   --        tmp2.TXN_LABOR_REVENUE,
913                          round(tmp2.POU_LABOR_REVENUE *
914                                tmp2.PRJ_PA_RATE1 /
915                                PRJ_PA_MAU1) * PRJ_PA_MAU1
916                   -- )
917                   ,
918                   to_number(null))                  GP1_LABOR_REVENUE,
919       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
920              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
921              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
922              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
923              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
924              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
925              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
926              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
927              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
928              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
929              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
930              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
931              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
932              tmp2.DANGLING_EXP_PA_TIME_FLAG,
933              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
934                   --        l_g1_currency_code,
935                   --        tmp2.TXN_REVENUE_WRITEOFF,
936                          round(tmp2.POU_REVENUE_WRITEOFF *
937                                tmp2.PRJ_PA_RATE1 /
938                                PRJ_PA_MAU1) * PRJ_PA_MAU1
939                   -- )
940                   ,
941                   to_number(null))                  GP1_REVENUE_WRITEOFF,
942       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
943              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
944              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
945              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
946              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
947              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
948              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
949              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
950              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
951              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
952              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
953              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
954              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
955              tmp2.DANGLING_EXP_PA_TIME_FLAG,
956              'Y', decode(tmp2.TXN_CURRENCY_CODE,
957                          l_g1_currency_code,
958                          tmp2.TXN_RAW_COST,
959                          round(tmp2.POU_RAW_COST *
960                                tmp2.PRJ_PA_RATE1 /
961                                PRJ_PA_MAU1) * PRJ_PA_MAU1),
962                   to_number(null))                  GP1_RAW_COST,
963       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
964              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
965              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
966              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
967              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
968              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
969              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
970              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
971              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
972              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
973              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
974              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
975              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
976              tmp2.DANGLING_EXP_PA_TIME_FLAG,
977              'Y', decode(tmp2.TXN_CURRENCY_CODE,
978                          l_g1_currency_code,
979                          tmp2.TXN_BRDN_COST,
980                          round(tmp2.POU_BRDN_COST *
981                                tmp2.PRJ_PA_RATE1 /
982                                PRJ_PA_MAU1) * PRJ_PA_MAU1),
983                   to_number(null))                  GP1_BRDN_COST,
984       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
985              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
986              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
987              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
988              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
989              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
990              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
991              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
992              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
993              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
994              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
995              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
996              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
997              tmp2.DANGLING_EXP_PA_TIME_FLAG,
998              'Y', decode(tmp2.TXN_CURRENCY_CODE,
999                          l_g1_currency_code,
1000                          tmp2.TXN_BILL_RAW_COST,
1001                          round(tmp2.POU_BILL_RAW_COST *
1002                                tmp2.PRJ_PA_RATE1 /
1003                                PRJ_PA_MAU1) * PRJ_PA_MAU1),
1004                   to_number(null))                  GP1_BILL_RAW_COST,
1005       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1006              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1007              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1008              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1009              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1010              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1011              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1012              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1013              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1014              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1015              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1016              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1017              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1018              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1019              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1020                          l_g1_currency_code,
1021                          tmp2.TXN_BILL_BRDN_COST,
1022                          round(tmp2.POU_BILL_BRDN_COST *
1023                                tmp2.PRJ_PA_RATE1 /
1024                                PRJ_PA_MAU1) * PRJ_PA_MAU1),
1025                   to_number(null))                  GP1_BILL_BRDN_COST,
1026       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1027              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1028              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1029              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1030              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1031              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1032              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1033              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1034              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1035              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1036              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1037              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1038              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1039              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1040              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1041                   --        l_g1_currency_code,
1042                   --        tmp2.TXN_LABOR_RAW_COST,
1043                          round(tmp2.POU_LABOR_RAW_COST *
1044                                tmp2.PRJ_PA_RATE1 /
1045                                PRJ_PA_MAU1) * PRJ_PA_MAU1
1046                   -- )
1047                   ,
1048                   to_number(null))                  GP1_LABOR_RAW_COST,
1049       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1050              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1051              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1052              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1053              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1054              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1055              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1056              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1057              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1058              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1059              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1060              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1061              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1062              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1063              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1064                   --        l_g1_currency_code,
1065                   --        tmp2.TXN_LABOR_BRDN_COST,
1066                          round(tmp2.POU_LABOR_BRDN_COST *
1067                                tmp2.PRJ_PA_RATE1 /
1068                                PRJ_PA_MAU1) * PRJ_PA_MAU1
1069                   -- )
1070                   ,
1071                   to_number(null))                  GP1_LABOR_BRDN_COST,
1072       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1073              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1074              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1075              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1076              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1077              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1078              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1079              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1080              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1081              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1082              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1083              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1084              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1085              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1086              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1087                   --        l_g1_currency_code,
1088                   --        tmp2.TXN_BILL_LABOR_RAW_COST,
1089                          round(tmp2.POU_BILL_LABOR_RAW_COST *
1090                                tmp2.PRJ_PA_RATE1 /
1091                                PRJ_PA_MAU1) * PRJ_PA_MAU1
1092                   -- )
1093                   ,
1094                   to_number(null))                  GP1_BILL_LABOR_RAW_COST,
1095       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1096              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1097              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1098              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1099              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1100              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1101              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1102              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1103              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1104              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1105              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1106              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1107              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1108              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1109              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1110                   --        l_g1_currency_code,
1111                   --        tmp2.TXN_BILL_LABOR_BRDN_COST,
1112                          round(tmp2.POU_BILL_LABOR_BRDN_COST *
1113                                tmp2.PRJ_PA_RATE1 /
1114                                PRJ_PA_MAU1) * PRJ_PA_MAU1
1115                   -- )
1116                   ,
1117                   to_number(null))                  GP1_BILL_LABOR_BRDN_COST,
1118       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1119              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1120              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1121              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1122              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1123              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1124              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1125              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1126              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1127              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1128              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1129              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1130              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1131              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1132              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1133                          l_g2_currency_code,
1134                          tmp2.TXN_REVENUE,
1135                          round(tmp2.POU_REVENUE *
1136                                tmp2.PRJ_GL_RATE2 /
1137                                PRJ_GL_MAU2) * PRJ_GL_MAU2),
1138                   to_number(null))                  GG2_REVENUE,
1139       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1140              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1141              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1142              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1143              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1144              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1145              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1146              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1147              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1148              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1149              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1150              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1151              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1152              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1153              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1154                   --        l_g2_currency_code,
1155                   --        tmp2.TXN_LABOR_REVENUE,
1156                          round(tmp2.POU_LABOR_REVENUE *
1157                                tmp2.PRJ_GL_RATE2 /
1158                                PRJ_GL_MAU2) * PRJ_GL_MAU2
1159                   -- )
1160                   ,
1161                   to_number(null))                  GG2_LABOR_REVENUE,
1162       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1163              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1164              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1165              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1166              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1167              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1168              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1169              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1170              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1171              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1172              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1173              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1174              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1175              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1176              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1177                   --        l_g2_currency_code,
1178                   --        tmp2.TXN_REVENUE_WRITEOFF,
1179                          round(tmp2.POU_REVENUE_WRITEOFF *
1180                                tmp2.PRJ_GL_RATE2 /
1181                                PRJ_GL_MAU2) * PRJ_GL_MAU2
1182                   -- )
1183                   ,
1184                   to_number(null))                  GG2_REVENUE_WRITEOFF,
1185       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1186              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1187              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1188              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1189              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1190              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1191              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1192              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1193              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1194              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1195              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1196              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1197              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1198              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1199              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1200                          l_g2_currency_code,
1201                          tmp2.TXN_RAW_COST,
1202                          round(tmp2.POU_RAW_COST *
1203                                tmp2.PRJ_GL_RATE2 /
1204                                PRJ_GL_MAU2) * PRJ_GL_MAU2),
1205                   to_number(null))                  GG2_RAW_COST,
1206       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1207              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1208              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1209              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1210              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1211              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1212              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1213              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1214              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1215              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1216              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1217              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1218              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1219              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1220              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1221                          l_g2_currency_code,
1222                          tmp2.TXN_BRDN_COST,
1223                          round(tmp2.POU_BRDN_COST *
1224                                tmp2.PRJ_GL_RATE2 /
1225                                PRJ_GL_MAU2) * PRJ_GL_MAU2),
1226                   to_number(null))                  GG2_BRDN_COST,
1227       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1228              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1229              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1230              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1231              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1232              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1233              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1234              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1235              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1236              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1237              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1238              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1239              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1240              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1241              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1242                          l_g2_currency_code,
1243                          tmp2.TXN_BILL_RAW_COST,
1244                          round(tmp2.POU_BILL_RAW_COST *
1245                                tmp2.PRJ_GL_RATE2 /
1246                                PRJ_GL_MAU2) * PRJ_GL_MAU2),
1247                   to_number(null))                  GG2_BILL_RAW_COST,
1248       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1249              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1250              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1251              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1252              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1253              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1254              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1255              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1256              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1257              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1258              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1259              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1260              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1261              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1262              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1263                          l_g2_currency_code,
1264                          tmp2.TXN_BILL_BRDN_COST,
1265                          round(tmp2.POU_BILL_BRDN_COST *
1266                                tmp2.PRJ_GL_RATE2 /
1267                                PRJ_GL_MAU2) * PRJ_GL_MAU2),
1268                   to_number(null))                  GG2_BILL_BRDN_COST,
1269       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1270              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1271              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1272              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1273              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1274              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1275              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1276              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1277              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1278              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1279              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1280              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1281              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1282              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1283              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1284                   --        l_g2_currency_code,
1285                   --        tmp2.TXN_LABOR_RAW_COST,
1286                          round(tmp2.POU_LABOR_RAW_COST *
1287                                tmp2.PRJ_GL_RATE2 /
1288                                PRJ_GL_MAU2) * PRJ_GL_MAU2
1289                   -- )
1290                   ,
1291                   to_number(null))                  GG2_LABOR_RAW_COST,
1292       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1293              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1294              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1295              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1296              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1297              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1298              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1299              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1300              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1301              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1302              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1303              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1304              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1305              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1306              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1307                   --        l_g2_currency_code,
1308                   --        tmp2.TXN_LABOR_BRDN_COST,
1309                          round(tmp2.POU_LABOR_BRDN_COST *
1310                                tmp2.PRJ_GL_RATE2 /
1311                                PRJ_GL_MAU2) * PRJ_GL_MAU2
1312                   -- )
1313                   ,
1314                   to_number(null))                  GG2_LABOR_BRDN_COST,
1315       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1316              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1317              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1318              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1319              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1320              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1321              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1322              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1323              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1324              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1325              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1326              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1327              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1328              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1329              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1330                   --        l_g2_currency_code,
1331                   --        tmp2.TXN_BILL_LABOR_RAW_COST,
1332                          round(tmp2.POU_BILL_LABOR_RAW_COST *
1333                                tmp2.PRJ_GL_RATE2 /
1334                                PRJ_GL_MAU2) * PRJ_GL_MAU2
1335                   -- )
1336                   ,
1337                   to_number(null))                  GG2_BILL_LABOR_RAW_COST,
1338       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1339              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1340              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1341              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1342              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1343              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1344              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1345              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1346              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1347              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1348              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1349              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1350              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1351              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1352              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1353                   --        l_g2_currency_code,
1354                   --        tmp2.TXN_BILL_LABOR_BRDN_COST,
1355                          round(tmp2.POU_BILL_LABOR_BRDN_COST *
1356                                tmp2.PRJ_GL_RATE2 /
1357                                PRJ_GL_MAU2) * PRJ_GL_MAU2
1358                   -- )
1359                   ,
1360                   to_number(null))                  GG2_BILL_LABOR_BRDN_COST,
1361       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1362              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1363              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1364              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1365              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1366              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1367              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1368              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1369              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1370              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1371              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1372              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1373              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1374              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1375              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1376                          l_g2_currency_code,
1377                          tmp2.TXN_REVENUE,
1378                          round(tmp2.POU_REVENUE *
1379                                tmp2.PRJ_PA_RATE2 /
1380                                PRJ_PA_MAU2) * PRJ_PA_MAU2),
1381                   to_number(null))                  GP2_REVENUE,
1382       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1383              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1384              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1385              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1386              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1387              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1388              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1389              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1390              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1391              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1392              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1393              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1394              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1395              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1396              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1397                   --        l_g2_currency_code,
1398                   --        tmp2.TXN_LABOR_REVENUE,
1399                          round(tmp2.POU_LABOR_REVENUE *
1400                                tmp2.PRJ_PA_RATE2 /
1401                                PRJ_PA_MAU2) * PRJ_PA_MAU2
1402                   -- )
1403                   ,
1404                   to_number(null))                  GP2_LABOR_REVENUE,
1405       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1406              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1407              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1408              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1409              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1410              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1411              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1412              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1413              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1414              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1415              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1416              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1417              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1418              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1419              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1420                   --        l_g2_currency_code,
1421                   --        tmp2.TXN_REVENUE_WRITEOFF,
1422                          round(tmp2.POU_REVENUE_WRITEOFF *
1423                                tmp2.PRJ_PA_RATE2 /
1424                                PRJ_PA_MAU2) * PRJ_PA_MAU2
1425                   -- )
1426                   ,
1427                   to_number(null))                  GP2_REVENUE_WRITEOFF,
1428       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1429              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1430              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1431              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1432              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1433              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1434              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1435              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1436              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1437              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1438              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1439              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1440              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1441              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1442              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1443                          l_g2_currency_code,
1444                          tmp2.TXN_RAW_COST,
1445                          round(tmp2.POU_RAW_COST *
1446                                tmp2.PRJ_PA_RATE2 /
1447                                PRJ_PA_MAU2) * PRJ_PA_MAU2),
1448                   to_number(null))                  GP2_RAW_COST,
1449       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1450              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1451              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1452              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1453              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1454              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1455              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1456              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1457              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1458              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1459              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1460              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1461              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1462              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1463              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1464                          l_g2_currency_code,
1465                          tmp2.TXN_BRDN_COST,
1466                          round(tmp2.POU_BRDN_COST *
1467                                tmp2.PRJ_PA_RATE2 /
1468                                PRJ_PA_MAU2) * PRJ_PA_MAU2),
1469                   to_number(null))                  GP2_BRDN_COST,
1470       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1471              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1472              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1473              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1474              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1475              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1476              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1477              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1478              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1479              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1480              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1481              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1482              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1483              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1484              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1485                          l_g2_currency_code,
1486                          tmp2.TXN_BILL_RAW_COST,
1487                          round(tmp2.POU_BILL_RAW_COST *
1488                                tmp2.PRJ_PA_RATE2 /
1489                                PRJ_PA_MAU2) * PRJ_PA_MAU2),
1490                   to_number(null))                  GP2_BILL_RAW_COST,
1491       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1492              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1493              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1494              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1495              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1496              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1497              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1498              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1499              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1500              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1501              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1502              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1503              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1504              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1505              'Y', decode(tmp2.TXN_CURRENCY_CODE,
1506                          l_g2_currency_code,
1507                          tmp2.TXN_BILL_BRDN_COST,
1508                          round(tmp2.POU_BILL_BRDN_COST *
1509                                tmp2.PRJ_PA_RATE2 /
1510                                PRJ_PA_MAU2) * PRJ_PA_MAU2),
1511                   to_number(null))                  GP2_BILL_BRDN_COST,
1512       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1513              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1514              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1515              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1516              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1517              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1518              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1519              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1520              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1521              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1522              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1523              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1524              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1525              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1526              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1527                   --        l_g2_currency_code,
1528                   --        tmp2.TXN_LABOR_RAW_COST,
1529                          round(tmp2.POU_LABOR_RAW_COST *
1530                                tmp2.PRJ_PA_RATE2 /
1531                                PRJ_PA_MAU2) * PRJ_PA_MAU2
1532                   -- )
1533                   ,
1534                   to_number(null))                  GP2_LABOR_RAW_COST,
1535       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1536              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1537              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1538              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1539              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1540              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1541              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1542              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1543              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1544              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1545              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1546              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1547              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1548              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1549              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1550                   --        l_g2_currency_code,
1551                   --        tmp2.TXN_LABOR_BRDN_COST,
1552                          round(tmp2.POU_LABOR_BRDN_COST *
1553                                tmp2.PRJ_PA_RATE2 /
1554                                PRJ_PA_MAU2) * PRJ_PA_MAU2
1555                   -- )
1556                   ,
1557                   to_number(null))                  GP2_LABOR_BRDN_COST,
1558       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1559              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1560              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1561              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1562              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1563              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1564              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1565              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1566              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1567              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1568              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1569              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1570              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1571              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1572              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1573                   --        l_g2_currency_code,
1574                   --        tmp2.TXN_BILL_LABOR_RAW_COST,
1575                          round(tmp2.POU_BILL_LABOR_RAW_COST *
1576                                tmp2.PRJ_PA_RATE2 /
1577                                PRJ_PA_MAU2) * PRJ_PA_MAU2
1578                   -- )
1579                   ,
1580                   to_number(null))                  GP2_BILL_LABOR_RAW_COST,
1581       decode(nvl(tmp2.PJI_PROJECT_RECORD_FLAG, 'N') ||
1582              tmp2.DANGLING_RECVR_GL_RATE_FLAG       ||
1583              tmp2.DANGLING_RECVR_GL_RATE2_FLAG      ||
1584              tmp2.DANGLING_RECVR_PA_RATE_FLAG       ||
1585              tmp2.DANGLING_RECVR_PA_RATE2_FLAG      ||
1586              tmp2.DANGLING_PRVDR_EN_TIME_FLAG       ||
1587              tmp2.DANGLING_RECVR_EN_TIME_FLAG       ||
1588              tmp2.DANGLING_EXP_EN_TIME_FLAG         ||
1589              tmp2.DANGLING_PRVDR_GL_TIME_FLAG       ||
1590              tmp2.DANGLING_RECVR_GL_TIME_FLAG       ||
1591              tmp2.DANGLING_EXP_GL_TIME_FLAG         ||
1592              tmp2.DANGLING_PRVDR_PA_TIME_FLAG       ||
1593              tmp2.DANGLING_RECVR_PA_TIME_FLAG       ||
1594              tmp2.DANGLING_EXP_PA_TIME_FLAG,
1595              'Y', -- decode(tmp2.TXN_CURRENCY_CODE,
1596                   --        l_g2_currency_code,
1597                   --        tmp2.TXN_BILL_LABOR_BRDN_COST,
1598                          round(tmp2.POU_BILL_LABOR_BRDN_COST *
1599                                tmp2.PRJ_PA_RATE2 /
1600                                PRJ_PA_MAU2) * PRJ_PA_MAU2
1601                   -- )
1602                   ,
1603                   to_number(null))                  GP2_BILL_LABOR_BRDN_COST,
1604       tmp2.TOTAL_HRS_A,
1605       tmp2.BILL_HRS_A,
1606       tmp2.CBS_ELEMENT_ID  /*Added for CBS Changes */
1607     from
1608     (
1609     select /*+ ordered
1610                full(tmp2)      use_hash(tmp2)      parallel(tmp2)
1611                full(map)       use_hash(map)       parallel(map)
1612                full(prj_info)  use_hash(prj_info)
1613                full(res_info)  use_hash(res_info)
1614                full(prj_gl_rt) use_hash(prj_gl_rt)
1615                full(prj_pa_rt) use_hash(prj_pa_rt)
1616             */
1617       decode(tmp2.PJI_PROJECT_RECORD_FLAG,
1618              'Y', decode(prj_gl_rt.RATE,
1619                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
1620                          decode(sign(prj_gl_rt.RATE),
1621                                 -1, 'Y', null)),
1622              null)                             DANGLING_RECVR_GL_RATE_FLAG,
1623       decode(tmp2.PJI_PROJECT_RECORD_FLAG || l_g2_currency_flag,
1624              'YY', decode(prj_gl_rt.RATE2,
1625                           -3, 'E', -- EUR rate for 01-JAN-1999 is missing
1626                           decode(sign(prj_gl_rt.RATE2),
1627                                  -1, 'Y', null)),
1628              null)                             DANGLING_RECVR_GL_RATE2_FLAG,
1629       decode(tmp2.PJI_PROJECT_RECORD_FLAG,
1630              'Y', decode(prj_pa_rt.RATE,
1631                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
1632                          decode(sign(prj_pa_rt.RATE),
1633                                 -1, 'Y', null)),
1634              null)                             DANGLING_RECVR_PA_RATE_FLAG,
1635       decode(tmp2.PJI_PROJECT_RECORD_FLAG || l_g2_currency_flag,
1636              'YY', decode(prj_pa_rt.RATE2,
1637                           -3, 'E', -- EUR rate for 01-JAN-1999 is missing
1638                           decode(sign(prj_pa_rt.RATE2),
1639                                  -1, 'Y', null)),
1640              null)                             DANGLING_RECVR_PA_RATE2_FLAG,
1641       --case when tmp2.PJI_RESOURCE_RECORD_FLAG = 'Y' and
1642       --          (tmp2.PRVDR_GL_TIME_ID < res_info.EN_CALENDAR_MIN_DATE or
1643       --           tmp2.PRVDR_GL_TIME_ID > res_info.EN_CALENDAR_MAX_DATE)
1644       --     then 'Y'
1645       --     else null
1646       --     end                                 DANGLING_PRVDR_EN_TIME_FLAG,
1647       null                                     DANGLING_PRVDR_EN_TIME_FLAG,
1648       decode(tmp2.PJI_PROJECT_RECORD_FLAG,
1649              'Y', decode(sign(prj_info.EN_CALENDAR_MIN_DATE -
1650                               tmp2.RECVR_GL_TIME_ID) +
1651                          sign(tmp2.RECVR_GL_TIME_ID -
1652                               prj_info.EN_CALENDAR_MAX_DATE),
1653                          0, 'Y', null), null)  DANGLING_RECVR_EN_TIME_FLAG,
1654       decode(tmp2.PJI_RESOURCE_RECORD_FLAG,
1655              'Y', decode(sign(res_info.EN_CALENDAR_MIN_DATE -
1656                               tmp2.EXPENDITURE_ITEM_TIME_ID) +
1657                          sign(tmp2.EXPENDITURE_ITEM_TIME_ID -
1658                               res_info.EN_CALENDAR_MAX_DATE),
1659                          0, 'Y', null), null)  DANGLING_EXP_EN_TIME_FLAG,
1660       --case when tmp2.PJI_RESOURCE_RECORD_FLAG = 'Y' and
1661       --          (tmp2.PRVDR_GL_TIME_ID < res_info.GL_CALENDAR_MIN_DATE or
1662       --           tmp2.PRVDR_GL_TIME_ID > res_info.GL_CALENDAR_MAX_DATE)
1663       --     then 'Y'
1664       --     else null
1665       --     end                                 DANGLING_PRVDR_GL_TIME_FLAG,
1666       null                                     DANGLING_PRVDR_GL_TIME_FLAG,
1667       decode(tmp2.PJI_PROJECT_RECORD_FLAG,
1668              'Y', decode(sign(prj_info.GL_CALENDAR_MIN_DATE -
1669                               tmp2.RECVR_GL_TIME_ID) +
1670                          sign(tmp2.RECVR_GL_TIME_ID -
1671                               prj_info.GL_CALENDAR_MAX_DATE),
1672                          0, 'Y', null), null)  DANGLING_RECVR_GL_TIME_FLAG,
1673       decode(tmp2.PJI_RESOURCE_RECORD_FLAG,
1674              'Y', decode(sign(res_info.GL_CALENDAR_MIN_DATE -
1675                               tmp2.EXPENDITURE_ITEM_TIME_ID) +
1676                          sign(tmp2.EXPENDITURE_ITEM_TIME_ID -
1677                               res_info.GL_CALENDAR_MAX_DATE),
1678                          0, 'Y', null), null)  DANGLING_EXP_GL_TIME_FLAG,
1679       --case when tmp2.PJI_RESOURCE_RECORD_FLAG = 'Y' and
1680       --          (tmp2.PRVDR_PA_TIME_ID < res_info.PA_CALENDAR_MIN_DATE or
1681       --           tmp2.PRVDR_PA_TIME_ID > res_info.PA_CALENDAR_MAX_DATE)
1682       --     then 'Y'
1683       --     else null
1684       --     end                                 DANGLING_PRVDR_PA_TIME_FLAG,
1685       null                                     DANGLING_PRVDR_PA_TIME_FLAG,
1686       decode(tmp2.PJI_PROJECT_RECORD_FLAG,
1687              'Y', decode(sign(prj_info.PA_CALENDAR_MIN_DATE -
1688                               tmp2.RECVR_PA_TIME_ID) +
1689                          sign(tmp2.RECVR_PA_TIME_ID -
1690                               prj_info.PA_CALENDAR_MAX_DATE),
1691                          0, 'Y', null), null)  DANGLING_RECVR_PA_TIME_FLAG,
1692       decode(tmp2.PJI_RESOURCE_RECORD_FLAG,
1693              'Y', decode(sign(res_info.PA_CALENDAR_MIN_DATE -
1694                               tmp2.EXPENDITURE_ITEM_TIME_ID) +
1695                          sign(tmp2.EXPENDITURE_ITEM_TIME_ID -
1696                               res_info.PA_CALENDAR_MAX_DATE),
1697                          0, 'Y', null), null)  DANGLING_EXP_PA_TIME_FLAG,
1698       tmp2.ROWID                               ROW_ID,
1699       tmp2.PJI_PROJECT_RECORD_FLAG,
1700       tmp2.PJI_RESOURCE_RECORD_FLAG,
1701       tmp2.RECORD_TYPE,
1702       tmp2.CMT_RECORD_TYPE,
1703       tmp2.PROJECT_ID,
1704       tmp2.PROJECT_ORG_ID,
1705       tmp2.PROJECT_ORGANIZATION_ID,
1706       tmp2.PROJECT_TYPE_CLASS,
1707       tmp2.PERSON_ID,
1708       tmp2.EXPENDITURE_ORG_ID,
1709       tmp2.EXPENDITURE_ORGANIZATION_ID,
1710       tmp2.EXP_EVT_TYPE_ID,
1711       tmp2.WORK_TYPE_ID,
1712       tmp2.JOB_ID,
1713       tmp2.TASK_ID,
1714       tmp2.VENDOR_ID,
1715       tmp2.EXPENDITURE_TYPE,
1716       tmp2.EVENT_TYPE,
1717       tmp2.EVENT_TYPE_CLASSIFICATION,
1718       tmp2.EXPENDITURE_CATEGORY,
1719       tmp2.REVENUE_CATEGORY,
1720       tmp2.NON_LABOR_RESOURCE,
1721       tmp2.BOM_LABOR_RESOURCE_ID,
1722       tmp2.BOM_EQUIPMENT_RESOURCE_ID,
1723       tmp2.INVENTORY_ITEM_ID,
1724       tmp2.PO_LINE_ID,
1725       tmp2.ASSIGNMENT_ID,
1726       tmp2.SYSTEM_LINKAGE_FUNCTION,
1727       tmp2.RESOURCE_CLASS_CODE,
1728       tmp2.RECVR_GL_TIME_ID,
1729       tmp2.GL_PERIOD_NAME,
1730       tmp2.PRVDR_GL_TIME_ID,
1731       tmp2.RECVR_PA_TIME_ID,
1732       tmp2.PA_PERIOD_NAME,
1733       tmp2.PRVDR_PA_TIME_ID,
1734       tmp2.EXPENDITURE_ITEM_TIME_ID,
1735       prj_info.GL_CALENDAR_ID                  PJ_GL_CALENDAR_ID,
1736       prj_info.PA_CALENDAR_ID                  PJ_PA_CALENDAR_ID,
1737       res_info.GL_CALENDAR_ID                  RS_GL_CALENDAR_ID,
1738       res_info.PA_CALENDAR_ID                  RS_PA_CALENDAR_ID,
1739       prj_gl_rt.RATE                           PRJ_GL_RATE1,
1740       prj_gl_rt.RATE2                          PRJ_GL_RATE2,
1741       prj_pa_rt.RATE                           PRJ_PA_RATE1,
1742       prj_pa_rt.RATE2                          PRJ_PA_RATE2,
1743       prj_gl_rt.MAU                            PRJ_GL_MAU1,
1744       prj_gl_rt.MAU2                           PRJ_GL_MAU2,
1745       prj_pa_rt.MAU                            PRJ_PA_MAU1,
1746       prj_pa_rt.MAU2                           PRJ_PA_MAU2,
1747       tmp2.PRJ_REVENUE,
1748       tmp2.PRJ_LABOR_REVENUE,
1749       tmp2.PRJ_REVENUE_WRITEOFF,
1750       tmp2.PRJ_RAW_COST,
1751       tmp2.PRJ_BRDN_COST,
1752       tmp2.PRJ_BILL_RAW_COST,
1753       tmp2.PRJ_BILL_BRDN_COST,
1754       tmp2.PRJ_LABOR_RAW_COST,
1755       tmp2.PRJ_LABOR_BRDN_COST,
1756       tmp2.PRJ_BILL_LABOR_RAW_COST,
1757       tmp2.PRJ_BILL_LABOR_BRDN_COST,
1758       tmp2.POU_REVENUE,
1759       tmp2.POU_LABOR_REVENUE,
1760       tmp2.POU_REVENUE_WRITEOFF,
1761       tmp2.POU_RAW_COST,
1762       tmp2.POU_BRDN_COST,
1763       tmp2.POU_BILL_RAW_COST,
1764       tmp2.POU_BILL_BRDN_COST,
1765       tmp2.POU_LABOR_RAW_COST,
1766       tmp2.POU_LABOR_BRDN_COST,
1767       tmp2.POU_BILL_LABOR_RAW_COST,
1768       tmp2.POU_BILL_LABOR_BRDN_COST,
1769       tmp2.EOU_RAW_COST,
1770       tmp2.EOU_BRDN_COST,
1771       tmp2.EOU_BILL_RAW_COST,
1772       tmp2.EOU_BILL_BRDN_COST,
1773       tmp2.TXN_CURRENCY_CODE,
1774       tmp2.TXN_REVENUE,
1775       tmp2.TXN_RAW_COST,
1776       tmp2.TXN_BRDN_COST,
1777       tmp2.TXN_BILL_RAW_COST,
1778       tmp2.TXN_BILL_BRDN_COST,
1779       tmp2.LABOR_HRS,
1780       tmp2.BILL_LABOR_HRS,
1781       tmp2.TOTAL_HRS_A,
1782       tmp2.BILL_HRS_A,
1783       tmp2.CBS_ELEMENT_ID /*Added for CBS Changes */
1784     from
1785       PJI_FM_DNGL_FIN       tmp2,
1786       PJI_FM_PROJ_BATCH_MAP map,
1787       PJI_ORG_EXTR_INFO     prj_info,
1788       PJI_ORG_EXTR_INFO     res_info,
1789       PJI_FM_AGGR_DLY_RATES prj_gl_rt,
1790       PJI_FM_AGGR_DLY_RATES prj_pa_rt
1791     where
1792       tmp2.WORKER_ID                      = 0                          and
1793       tmp2.RECORD_TYPE                    = 'A'                        and
1794       map.WORKER_ID                       = p_worker_id                and
1795       map.PROJECT_ID                      = tmp2.PROJECT_ID            and
1796       tmp2.PROJECT_ORG_ID                 = prj_info.ORG_ID            and
1797       tmp2.EXPENDITURE_ORG_ID             = res_info.ORG_ID            and
1798       prj_gl_rt.WORKER_ID                 = -1                         and
1799       tmp2.RECVR_GL_TIME_ID               = prj_gl_rt.TIME_ID          and
1800       prj_info.PF_CURRENCY_CODE           = prj_gl_rt.PF_CURRENCY_CODE and
1801       prj_pa_rt.WORKER_ID                 = -1                         and
1802       tmp2.RECVR_PA_TIME_ID               = prj_pa_rt.TIME_ID          and
1803       prj_info.PF_CURRENCY_CODE           = prj_pa_rt.PF_CURRENCY_CODE
1804     ) tmp2;
1805 
1806     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.DANGLING_FIN_ROWS(p_worker_id);');
1807 
1808     commit;
1809 
1810   end DANGLING_FIN_ROWS;
1811 
1812 
1813   -- -----------------------------------------------------
1814   -- procedure DANGLING_ACT_ROWS
1815   -- -----------------------------------------------------
1816   procedure DANGLING_ACT_ROWS (p_worker_id in number) is
1817 
1818     l_process           varchar2(30);
1819 
1820     l_txn_currency_flag varchar2(1);
1821     l_g2_currency_flag  varchar2(1);
1822     l_g1_currency_code  varchar2(30);
1823     l_g2_currency_code  varchar2(30);
1824 
1825   begin
1826 
1827     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
1828 
1829     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.DANGLING_ACT_ROWS(p_worker_id);')) then
1830       return;
1831     end if;
1832 
1833     select
1834       TXN_CURR_FLAG,
1835       GLOBAL_CURR2_FLAG
1836     into
1837       l_txn_currency_flag,
1838       l_g2_currency_flag
1839     from
1840       PJI_SYSTEM_SETTINGS;
1841 
1842     l_g1_currency_code := PJI_UTILS.GET_GLOBAL_PRIMARY_CURRENCY;
1843     l_g2_currency_code := PJI_UTILS.GET_GLOBAL_SECONDARY_CURRENCY;
1844 
1845     insert /*+ append parallel(act2_i) */ into PJI_FM_AGGR_ACT2 act2_i -- in DANGLING_ACT_ROWS
1846     (
1847       WORKER_ID,
1848       DANGLING_GL_RATE_FLAG,
1849       DANGLING_GL_RATE2_FLAG,
1850       DANGLING_PA_RATE2_FLAG,
1851       DANGLING_PA_RATE_FLAG,
1852       DANGLING_EN_TIME_FLAG,
1853       DANGLING_GL_TIME_FLAG,
1854       DANGLING_PA_TIME_FLAG,
1855       ROW_ID,
1856       PROJECT_ID,
1857       PROJECT_ORG_ID,
1858       PROJECT_ORGANIZATION_ID,
1859       GL_TIME_ID,
1860       GL_PERIOD_NAME,
1861       PA_TIME_ID,
1862       PA_PERIOD_NAME,
1863       GL_CALENDAR_ID,
1864       PA_CALENDAR_ID,
1865       TXN_CURRENCY_CODE,
1866       TXN_REVENUE,
1867       TXN_FUNDING,
1868       TXN_INITIAL_FUNDING_AMOUNT,
1869       TXN_ADDITIONAL_FUNDING_AMOUNT,
1870       TXN_CANCELLED_FUNDING_AMOUNT,
1871       TXN_FUNDING_ADJUSTMENT_AMOUNT,
1872       TXN_REVENUE_WRITEOFF,
1873       TXN_AR_INVOICE_AMOUNT,
1874       TXN_AR_CASH_APPLIED_AMOUNT,
1875       TXN_AR_INVOICE_WRITEOFF_AMOUNT,
1876       TXN_AR_CREDIT_MEMO_AMOUNT,
1877       TXN_UNBILLED_RECEIVABLES,
1878       TXN_UNEARNED_REVENUE,
1879       TXN_AR_UNAPPR_INVOICE_AMOUNT,
1880       TXN_AR_APPR_INVOICE_AMOUNT,
1881       TXN_AR_AMOUNT_DUE,
1882       TXN_AR_AMOUNT_OVERDUE,
1883       PRJ_REVENUE,
1884       PRJ_FUNDING,
1885       PRJ_INITIAL_FUNDING_AMOUNT,
1886       PRJ_ADDITIONAL_FUNDING_AMOUNT,
1887       PRJ_CANCELLED_FUNDING_AMOUNT,
1888       PRJ_FUNDING_ADJUSTMENT_AMOUNT,
1889       PRJ_REVENUE_WRITEOFF,
1890       PRJ_AR_INVOICE_AMOUNT,
1891       PRJ_AR_CASH_APPLIED_AMOUNT,
1892       PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
1893       PRJ_AR_CREDIT_MEMO_AMOUNT,
1894       PRJ_UNBILLED_RECEIVABLES,
1895       PRJ_UNEARNED_REVENUE,
1896       PRJ_AR_UNAPPR_INVOICE_AMOUNT,
1897       PRJ_AR_APPR_INVOICE_AMOUNT,
1898       PRJ_AR_AMOUNT_DUE,
1899       PRJ_AR_AMOUNT_OVERDUE,
1900       POU_REVENUE,
1901       POU_FUNDING,
1902       POU_INITIAL_FUNDING_AMOUNT,
1903       POU_ADDITIONAL_FUNDING_AMOUNT,
1904       POU_CANCELLED_FUNDING_AMOUNT,
1905       POU_FUNDING_ADJUSTMENT_AMOUNT,
1906       POU_REVENUE_WRITEOFF,
1907       POU_AR_INVOICE_AMOUNT,
1908       POU_AR_CASH_APPLIED_AMOUNT,
1909       POU_AR_INVOICE_WRITEOFF_AMOUNT,
1910       POU_AR_CREDIT_MEMO_AMOUNT,
1911       POU_UNBILLED_RECEIVABLES,
1912       POU_UNEARNED_REVENUE,
1913       POU_AR_UNAPPR_INVOICE_AMOUNT,
1914       POU_AR_APPR_INVOICE_AMOUNT,
1915       POU_AR_AMOUNT_DUE,
1916       POU_AR_AMOUNT_OVERDUE,
1917       INITIAL_FUNDING_COUNT,
1918       ADDITIONAL_FUNDING_COUNT,
1919       CANCELLED_FUNDING_COUNT,
1920       FUNDING_ADJUSTMENT_COUNT,
1921       AR_INVOICE_COUNT,
1922       AR_CASH_APPLIED_COUNT,
1923       AR_INVOICE_WRITEOFF_COUNT,
1924       AR_CREDIT_MEMO_COUNT,
1925       AR_UNAPPR_INVOICE_COUNT,
1926       AR_APPR_INVOICE_COUNT,
1927       AR_COUNT_DUE,
1928       AR_COUNT_OVERDUE,
1929       GG_REVENUE,
1930       GG_FUNDING,
1931       GG_INITIAL_FUNDING_AMOUNT,
1932       GG_ADDITIONAL_FUNDING_AMOUNT,
1933       GG_CANCELLED_FUNDING_AMOUNT,
1934       GG_FUNDING_ADJUSTMENT_AMOUNT,
1935       GG_REVENUE_WRITEOFF,
1936       GG_AR_INVOICE_AMOUNT,
1937       GG_AR_CASH_APPLIED_AMOUNT,
1938       GG_AR_INVOICE_WRITEOFF_AMOUNT,
1939       GG_AR_CREDIT_MEMO_AMOUNT,
1940       GG_UNBILLED_RECEIVABLES,
1941       GG_UNEARNED_REVENUE,
1942       GG_AR_UNAPPR_INVOICE_AMOUNT,
1943       GG_AR_APPR_INVOICE_AMOUNT,
1944       GG_AR_AMOUNT_DUE,
1945       GG_AR_AMOUNT_OVERDUE,
1946       GP_REVENUE,
1947       GP_FUNDING,
1948       GP_INITIAL_FUNDING_AMOUNT,
1949       GP_ADDITIONAL_FUNDING_AMOUNT,
1950       GP_CANCELLED_FUNDING_AMOUNT,
1951       GP_FUNDING_ADJUSTMENT_AMOUNT,
1952       GP_REVENUE_WRITEOFF,
1953       GP_AR_INVOICE_AMOUNT,
1954       GP_AR_CASH_APPLIED_AMOUNT,
1955       GP_AR_INVOICE_WRITEOFF_AMOUNT,
1956       GP_AR_CREDIT_MEMO_AMOUNT,
1957       GP_UNBILLED_RECEIVABLES,
1958       GP_UNEARNED_REVENUE,
1959       GP_AR_UNAPPR_INVOICE_AMOUNT,
1960       GP_AR_APPR_INVOICE_AMOUNT,
1961       GP_AR_AMOUNT_DUE,
1962       GP_AR_AMOUNT_OVERDUE,
1963       GG2_REVENUE,
1964       GG2_FUNDING,
1965       GG2_INITIAL_FUNDING_AMOUNT,
1966       GG2_ADDITIONAL_FUNDING_AMOUNT,
1967       GG2_CANCELLED_FUNDING_AMOUNT,
1968       GG2_FUNDING_ADJUSTMENT_AMOUNT,
1969       GG2_REVENUE_WRITEOFF,
1970       GG2_AR_INVOICE_AMOUNT,
1971       GG2_AR_CASH_APPLIED_AMOUNT,
1972       GG2_AR_INVOICE_WRITEOFF_AMOUNT,
1973       GG2_AR_CREDIT_MEMO_AMOUNT,
1974       GG2_UNBILLED_RECEIVABLES,
1975       GG2_UNEARNED_REVENUE,
1976       GG2_AR_UNAPPR_INVOICE_AMOUNT,
1977       GG2_AR_APPR_INVOICE_AMOUNT,
1978       GG2_AR_AMOUNT_DUE,
1979       GG2_AR_AMOUNT_OVERDUE,
1980       GP2_REVENUE,
1981       GP2_FUNDING,
1982       GP2_INITIAL_FUNDING_AMOUNT,
1983       GP2_ADDITIONAL_FUNDING_AMOUNT,
1984       GP2_CANCELLED_FUNDING_AMOUNT,
1985       GP2_FUNDING_ADJUSTMENT_AMOUNT,
1986       GP2_REVENUE_WRITEOFF,
1987       GP2_AR_INVOICE_AMOUNT,
1988       GP2_AR_CASH_APPLIED_AMOUNT,
1989       GP2_AR_INVOICE_WRITEOFF_AMOUNT,
1990       GP2_AR_CREDIT_MEMO_AMOUNT,
1991       GP2_UNBILLED_RECEIVABLES,
1992       GP2_UNEARNED_REVENUE,
1993       GP2_AR_UNAPPR_INVOICE_AMOUNT,
1994       GP2_AR_APPR_INVOICE_AMOUNT,
1995       GP2_AR_AMOUNT_DUE,
1996       GP2_AR_AMOUNT_OVERDUE
1997     )
1998     select
1999       p_worker_id,
2000       tmp2.DANGLING_GL_RATE_FLAG,
2001       tmp2.DANGLING_GL_RATE2_FLAG,
2002       tmp2.DANGLING_PA_RATE_FLAG,
2003       tmp2.DANGLING_PA_RATE2_FLAG,
2004       tmp2.DANGLING_EN_TIME_FLAG,
2005       tmp2.DANGLING_GL_TIME_FLAG,
2006       tmp2.DANGLING_PA_TIME_FLAG,
2007       tmp2.ROW_ID,
2008       tmp2.PROJECT_ID,
2009       tmp2.PROJECT_ORG_ID,
2010       tmp2.PROJECT_ORGANIZATION_ID,
2011       tmp2.GL_TIME_ID,
2012       tmp2.GL_PERIOD_NAME,
2013       tmp2.PA_TIME_ID,
2014       tmp2.PA_PERIOD_NAME,
2015       tmp2.GL_CALENDAR_ID,
2016       tmp2.PA_CALENDAR_ID,
2017       tmp2.TXN_CURRENCY_CODE,
2018       tmp2.TXN_REVENUE,
2019       tmp2.TXN_FUNDING,
2020       tmp2.TXN_INITIAL_FUNDING_AMOUNT,
2021       tmp2.TXN_ADDITIONAL_FUNDING_AMOUNT,
2022       tmp2.TXN_CANCELLED_FUNDING_AMOUNT,
2023       tmp2.TXN_FUNDING_ADJUSTMENT_AMOUNT,
2024       tmp2.TXN_REVENUE_WRITEOFF,
2025       tmp2.TXN_AR_INVOICE_AMOUNT,
2026       tmp2.TXN_AR_CASH_APPLIED_AMOUNT,
2027       tmp2.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
2028       tmp2.TXN_AR_CREDIT_MEMO_AMOUNT,
2029       tmp2.TXN_UNBILLED_RECEIVABLES,
2030       tmp2.TXN_UNEARNED_REVENUE,
2031       tmp2.TXN_AR_UNAPPR_INVOICE_AMOUNT,
2032       tmp2.TXN_AR_APPR_INVOICE_AMOUNT,
2033       tmp2.TXN_AR_AMOUNT_DUE,
2034       tmp2.TXN_AR_AMOUNT_OVERDUE,
2035       tmp2.PRJ_REVENUE,
2036       tmp2.PRJ_FUNDING,
2037       tmp2.PRJ_INITIAL_FUNDING_AMOUNT,
2038       tmp2.PRJ_ADDITIONAL_FUNDING_AMOUNT,
2039       tmp2.PRJ_CANCELLED_FUNDING_AMOUNT,
2040       tmp2.PRJ_FUNDING_ADJUSTMENT_AMOUNT,
2041       tmp2.PRJ_REVENUE_WRITEOFF,
2042       tmp2.PRJ_AR_INVOICE_AMOUNT,
2043       tmp2.PRJ_AR_CASH_APPLIED_AMOUNT,
2044       tmp2.PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
2045       tmp2.PRJ_AR_CREDIT_MEMO_AMOUNT,
2046       tmp2.PRJ_UNBILLED_RECEIVABLES,
2047       tmp2.PRJ_UNEARNED_REVENUE,
2048       tmp2.PRJ_AR_UNAPPR_INVOICE_AMOUNT,
2049       tmp2.PRJ_AR_APPR_INVOICE_AMOUNT,
2050       tmp2.PRJ_AR_AMOUNT_DUE,
2051       tmp2.PRJ_AR_AMOUNT_OVERDUE,
2052       tmp2.POU_REVENUE,
2053       tmp2.POU_FUNDING,
2054       tmp2.POU_INITIAL_FUNDING_AMOUNT,
2055       tmp2.POU_ADDITIONAL_FUNDING_AMOUNT,
2056       tmp2.POU_CANCELLED_FUNDING_AMOUNT,
2057       tmp2.POU_FUNDING_ADJUSTMENT_AMOUNT,
2058       tmp2.POU_REVENUE_WRITEOFF,
2059       tmp2.POU_AR_INVOICE_AMOUNT,
2060       tmp2.POU_AR_CASH_APPLIED_AMOUNT,
2061       tmp2.POU_AR_INVOICE_WRITEOFF_AMOUNT,
2062       tmp2.POU_AR_CREDIT_MEMO_AMOUNT,
2063       tmp2.POU_UNBILLED_RECEIVABLES,
2064       tmp2.POU_UNEARNED_REVENUE,
2065       tmp2.POU_AR_UNAPPR_INVOICE_AMOUNT,
2066       tmp2.POU_AR_APPR_INVOICE_AMOUNT,
2067       tmp2.POU_AR_AMOUNT_DUE,
2068       tmp2.POU_AR_AMOUNT_OVERDUE,
2069       tmp2.INITIAL_FUNDING_COUNT,
2070       tmp2.ADDITIONAL_FUNDING_COUNT,
2071       tmp2.CANCELLED_FUNDING_COUNT,
2072       tmp2.FUNDING_ADJUSTMENT_COUNT,
2073       tmp2.AR_INVOICE_COUNT,
2074       tmp2.AR_CASH_APPLIED_COUNT,
2075       tmp2.AR_INVOICE_WRITEOFF_COUNT,
2076       tmp2.AR_CREDIT_MEMO_COUNT,
2077       tmp2.AR_UNAPPR_INVOICE_COUNT,
2078       tmp2.AR_APPR_INVOICE_COUNT,
2079       tmp2.AR_COUNT_DUE,
2080       tmp2.AR_COUNT_OVERDUE,
2081       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2082              tmp2.DANGLING_GL_RATE2_FLAG     ||
2083              tmp2.DANGLING_PA_RATE_FLAG      ||
2084              tmp2.DANGLING_PA_RATE2_FLAG     ||
2085              tmp2.DANGLING_EN_TIME_FLAG      ||
2086              tmp2.DANGLING_GL_TIME_FLAG      ||
2087              tmp2.DANGLING_PA_TIME_FLAG,
2088              null, decode(tmp2.TXN_CURRENCY_CODE,
2089                           l_g1_currency_code,
2090                           tmp2.TXN_REVENUE,
2091                           round(tmp2.POU_REVENUE *
2092                                 tmp2.GL_RATE1 /
2093                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2094                    to_number(null))            GG1_REVENUE,
2095       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2096              tmp2.DANGLING_GL_RATE2_FLAG     ||
2097              tmp2.DANGLING_PA_RATE_FLAG      ||
2098              tmp2.DANGLING_PA_RATE2_FLAG     ||
2099              tmp2.DANGLING_EN_TIME_FLAG      ||
2100              tmp2.DANGLING_GL_TIME_FLAG      ||
2101              tmp2.DANGLING_PA_TIME_FLAG,
2102              null, decode(tmp2.TXN_CURRENCY_CODE,
2103                           l_g1_currency_code,
2104                           tmp2.TXN_FUNDING,
2105                           round(tmp2.POU_FUNDING *
2106                                 tmp2.GL_RATE1 /
2107                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2108                    to_number(null))            GG1_FUNDING,
2109       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2110              tmp2.DANGLING_GL_RATE2_FLAG     ||
2111              tmp2.DANGLING_PA_RATE_FLAG      ||
2112              tmp2.DANGLING_PA_RATE2_FLAG     ||
2113              tmp2.DANGLING_EN_TIME_FLAG      ||
2114              tmp2.DANGLING_GL_TIME_FLAG      ||
2115              tmp2.DANGLING_PA_TIME_FLAG,
2116              null, decode(tmp2.TXN_CURRENCY_CODE,
2117                           l_g1_currency_code,
2118                           tmp2.TXN_INITIAL_FUNDING_AMOUNT,
2119                           round(tmp2.POU_INITIAL_FUNDING_AMOUNT *
2120                                 tmp2.GL_RATE1 /
2121                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2122                    to_number(null))            GG1_INITIAL_FUNDING_AMOUNT,
2123       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2124              tmp2.DANGLING_GL_RATE2_FLAG     ||
2125              tmp2.DANGLING_PA_RATE_FLAG      ||
2126              tmp2.DANGLING_PA_RATE2_FLAG     ||
2127              tmp2.DANGLING_EN_TIME_FLAG      ||
2128              tmp2.DANGLING_GL_TIME_FLAG      ||
2129              tmp2.DANGLING_PA_TIME_FLAG,
2130              null, decode(tmp2.TXN_CURRENCY_CODE,
2131                           l_g1_currency_code,
2132                           tmp2.TXN_ADDITIONAL_FUNDING_AMOUNT,
2133                           round(tmp2.POU_ADDITIONAL_FUNDING_AMOUNT *
2134                                 tmp2.GL_RATE1 /
2135                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2136                    to_number(null))            GG1_ADDITIONAL_FUNDING_AMOUNT,
2137       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2138              tmp2.DANGLING_GL_RATE2_FLAG     ||
2139              tmp2.DANGLING_PA_RATE_FLAG      ||
2140              tmp2.DANGLING_PA_RATE2_FLAG     ||
2141              tmp2.DANGLING_EN_TIME_FLAG      ||
2142              tmp2.DANGLING_GL_TIME_FLAG      ||
2143              tmp2.DANGLING_PA_TIME_FLAG,
2144              null, decode(tmp2.TXN_CURRENCY_CODE,
2145                           l_g1_currency_code,
2146                           tmp2.TXN_CANCELLED_FUNDING_AMOUNT,
2147                           round(tmp2.POU_CANCELLED_FUNDING_AMOUNT *
2148                                 tmp2.GL_RATE1 /
2149                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2150                    to_number(null))            GG1_CANCELLED_FUNDING_AMOUNT,
2151       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2152              tmp2.DANGLING_GL_RATE2_FLAG     ||
2153              tmp2.DANGLING_PA_RATE_FLAG      ||
2154              tmp2.DANGLING_PA_RATE2_FLAG     ||
2155              tmp2.DANGLING_EN_TIME_FLAG      ||
2156              tmp2.DANGLING_GL_TIME_FLAG      ||
2157              tmp2.DANGLING_PA_TIME_FLAG,
2158              null, decode(tmp2.TXN_CURRENCY_CODE,
2159                           l_g1_currency_code,
2160                           tmp2.TXN_FUNDING_ADJUSTMENT_AMOUNT,
2161                           round(tmp2.POU_FUNDING_ADJUSTMENT_AMOUNT *
2162                                 tmp2.GL_RATE1 /
2163                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2164                    to_number(null))            GG1_FUNDING_ADJUSTMENT_AMOUNT,
2165       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2166              tmp2.DANGLING_GL_RATE2_FLAG     ||
2167              tmp2.DANGLING_PA_RATE_FLAG      ||
2168              tmp2.DANGLING_PA_RATE2_FLAG     ||
2169              tmp2.DANGLING_EN_TIME_FLAG      ||
2170              tmp2.DANGLING_GL_TIME_FLAG      ||
2171              tmp2.DANGLING_PA_TIME_FLAG,
2172              null, decode(tmp2.TXN_CURRENCY_CODE,
2173                           l_g1_currency_code,
2174                           tmp2.TXN_REVENUE_WRITEOFF,
2175                           round(tmp2.POU_REVENUE_WRITEOFF *
2176                                 tmp2.GL_RATE1 /
2177                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2178                    to_number(null))            GG1_REVENUE_WRITEOFF,
2179       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2180              tmp2.DANGLING_GL_RATE2_FLAG     ||
2181              tmp2.DANGLING_PA_RATE_FLAG      ||
2182              tmp2.DANGLING_PA_RATE2_FLAG     ||
2183              tmp2.DANGLING_EN_TIME_FLAG      ||
2184              tmp2.DANGLING_GL_TIME_FLAG      ||
2185              tmp2.DANGLING_PA_TIME_FLAG,
2186              null, decode(tmp2.TXN_CURRENCY_CODE,
2187                           l_g1_currency_code,
2188                           tmp2.TXN_AR_INVOICE_AMOUNT,
2189                           round(tmp2.POU_AR_INVOICE_AMOUNT *
2190                                 tmp2.GL_RATE1 /
2191                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2192                    to_number(null))            GG1_AR_INVOICE_AMOUNT,
2193       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2194              tmp2.DANGLING_GL_RATE2_FLAG     ||
2195              tmp2.DANGLING_PA_RATE_FLAG      ||
2196              tmp2.DANGLING_PA_RATE2_FLAG     ||
2197              tmp2.DANGLING_EN_TIME_FLAG      ||
2198              tmp2.DANGLING_GL_TIME_FLAG      ||
2199              tmp2.DANGLING_PA_TIME_FLAG,
2200              null, decode(tmp2.TXN_CURRENCY_CODE,
2201                           l_g1_currency_code,
2202                           tmp2.TXN_AR_CASH_APPLIED_AMOUNT,
2203                           round(tmp2.POU_AR_CASH_APPLIED_AMOUNT *
2204                                 tmp2.GL_RATE1 /
2205                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2206                    to_number(null))            GG1_AR_CASH_APPLIED_AMOUNT,
2207       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2208              tmp2.DANGLING_GL_RATE2_FLAG     ||
2209              tmp2.DANGLING_PA_RATE_FLAG      ||
2210              tmp2.DANGLING_PA_RATE2_FLAG     ||
2211              tmp2.DANGLING_EN_TIME_FLAG      ||
2212              tmp2.DANGLING_GL_TIME_FLAG      ||
2213              tmp2.DANGLING_PA_TIME_FLAG,
2214              null, decode(tmp2.TXN_CURRENCY_CODE,
2215                           l_g1_currency_code,
2216                           tmp2.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
2217                           round(tmp2.POU_AR_INVOICE_WRITEOFF_AMOUNT *
2218                                 tmp2.GL_RATE1 /
2219                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2220                    to_number(null))            GG1_AR_INVOICE_WRITEOFF_AMOUNT,
2221       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2222              tmp2.DANGLING_GL_RATE2_FLAG     ||
2223              tmp2.DANGLING_PA_RATE_FLAG      ||
2224              tmp2.DANGLING_PA_RATE2_FLAG     ||
2225              tmp2.DANGLING_EN_TIME_FLAG      ||
2226              tmp2.DANGLING_GL_TIME_FLAG      ||
2227              tmp2.DANGLING_PA_TIME_FLAG,
2228              null, decode(tmp2.TXN_CURRENCY_CODE,
2229                           l_g1_currency_code,
2230                           tmp2.TXN_AR_CREDIT_MEMO_AMOUNT,
2231                           round(tmp2.POU_AR_CREDIT_MEMO_AMOUNT *
2232                                 tmp2.GL_RATE1 /
2233                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2234                    to_number(null))            GG1_AR_CREDIT_MEMO_AMOUNT,
2235       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2236              tmp2.DANGLING_GL_RATE2_FLAG     ||
2237              tmp2.DANGLING_PA_RATE_FLAG      ||
2238              tmp2.DANGLING_PA_RATE2_FLAG     ||
2239              tmp2.DANGLING_EN_TIME_FLAG      ||
2240              tmp2.DANGLING_GL_TIME_FLAG      ||
2241              tmp2.DANGLING_PA_TIME_FLAG,
2242              null, decode(tmp2.TXN_CURRENCY_CODE,
2243                           l_g1_currency_code,
2244                           tmp2.TXN_UNBILLED_RECEIVABLES,
2245                           round(tmp2.POU_UNBILLED_RECEIVABLES *
2246                                 tmp2.GL_RATE1 /
2247                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2248                    to_number(null))            GG1_UNBILLED_RECEIVABLES,
2249       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2250              tmp2.DANGLING_GL_RATE2_FLAG     ||
2251              tmp2.DANGLING_PA_RATE_FLAG      ||
2252              tmp2.DANGLING_PA_RATE2_FLAG     ||
2253              tmp2.DANGLING_EN_TIME_FLAG      ||
2254              tmp2.DANGLING_GL_TIME_FLAG      ||
2255              tmp2.DANGLING_PA_TIME_FLAG,
2256              null, decode(tmp2.TXN_CURRENCY_CODE,
2257                           l_g1_currency_code,
2258                           tmp2.TXN_UNEARNED_REVENUE,
2259                           round(tmp2.POU_UNEARNED_REVENUE *
2260                                 tmp2.GL_RATE1 /
2261                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2262                    to_number(null))            GG1_UNEARNED_REVENUE,
2263       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2264              tmp2.DANGLING_GL_RATE2_FLAG     ||
2265              tmp2.DANGLING_PA_RATE_FLAG      ||
2266              tmp2.DANGLING_PA_RATE2_FLAG     ||
2267              tmp2.DANGLING_EN_TIME_FLAG      ||
2268              tmp2.DANGLING_GL_TIME_FLAG      ||
2269              tmp2.DANGLING_PA_TIME_FLAG,
2270              null, decode(tmp2.TXN_CURRENCY_CODE,
2271                           l_g1_currency_code,
2272                           tmp2.TXN_AR_UNAPPR_INVOICE_AMOUNT,
2273                           round(tmp2.POU_AR_UNAPPR_INVOICE_AMOUNT *
2274                                 tmp2.GL_RATE1 /
2275                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2276                    to_number(null))            GG1_AR_UNAPPR_INVOICE_AMOUNT,
2277       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2278              tmp2.DANGLING_GL_RATE2_FLAG     ||
2279              tmp2.DANGLING_PA_RATE_FLAG      ||
2280              tmp2.DANGLING_PA_RATE2_FLAG     ||
2281              tmp2.DANGLING_EN_TIME_FLAG      ||
2282              tmp2.DANGLING_GL_TIME_FLAG      ||
2283              tmp2.DANGLING_PA_TIME_FLAG,
2284              null, decode(tmp2.TXN_CURRENCY_CODE,
2285                           l_g1_currency_code,
2286                           tmp2.TXN_AR_APPR_INVOICE_AMOUNT,
2287                           round(tmp2.POU_AR_APPR_INVOICE_AMOUNT *
2288                                 tmp2.GL_RATE1 /
2289                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2290                    to_number(null))            GG1_AR_APPR_INVOICE_AMOUNT,
2291       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2292              tmp2.DANGLING_GL_RATE2_FLAG     ||
2293              tmp2.DANGLING_PA_RATE_FLAG      ||
2294              tmp2.DANGLING_PA_RATE2_FLAG     ||
2295              tmp2.DANGLING_EN_TIME_FLAG      ||
2296              tmp2.DANGLING_GL_TIME_FLAG      ||
2297              tmp2.DANGLING_PA_TIME_FLAG,
2298              null, decode(tmp2.TXN_CURRENCY_CODE,
2299                           l_g1_currency_code,
2300                           tmp2.TXN_AR_AMOUNT_DUE,
2301                           round(tmp2.POU_AR_AMOUNT_DUE *
2302                                 tmp2.GL_RATE1 /
2303                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2304                    to_number(null))            GG1_AR_AMOUNT_DUE,
2305       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2306              tmp2.DANGLING_GL_RATE2_FLAG     ||
2307              tmp2.DANGLING_PA_RATE_FLAG      ||
2308              tmp2.DANGLING_PA_RATE2_FLAG     ||
2309              tmp2.DANGLING_EN_TIME_FLAG      ||
2310              tmp2.DANGLING_GL_TIME_FLAG      ||
2311              tmp2.DANGLING_PA_TIME_FLAG,
2312              null, decode(tmp2.TXN_CURRENCY_CODE,
2313                           l_g1_currency_code,
2314                           tmp2.TXN_AR_AMOUNT_OVERDUE,
2315                           round(tmp2.POU_AR_AMOUNT_OVERDUE *
2316                                 tmp2.GL_RATE1 /
2317                                 tmp2.GL_MAU1) * tmp2.GL_MAU1),
2318                    to_number(null))            GG1_AR_AMOUNT_OVERDUE,
2319       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2320              tmp2.DANGLING_GL_RATE2_FLAG     ||
2321              tmp2.DANGLING_PA_RATE_FLAG      ||
2322              tmp2.DANGLING_PA_RATE2_FLAG     ||
2323              tmp2.DANGLING_EN_TIME_FLAG      ||
2324              tmp2.DANGLING_GL_TIME_FLAG      ||
2325              tmp2.DANGLING_PA_TIME_FLAG,
2326              null, decode(tmp2.TXN_CURRENCY_CODE,
2327                           l_g1_currency_code,
2328                           tmp2.TXN_REVENUE,
2329                           round(tmp2.POU_REVENUE *
2330                                 tmp2.PA_RATE1 /
2331                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2332                    to_number(null))            GP1_REVENUE,
2333       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2334              tmp2.DANGLING_GL_RATE2_FLAG     ||
2335              tmp2.DANGLING_PA_RATE_FLAG      ||
2336              tmp2.DANGLING_PA_RATE2_FLAG     ||
2337              tmp2.DANGLING_EN_TIME_FLAG      ||
2338              tmp2.DANGLING_GL_TIME_FLAG      ||
2339              tmp2.DANGLING_PA_TIME_FLAG,
2340              null, decode(tmp2.TXN_CURRENCY_CODE,
2341                           l_g1_currency_code,
2342                           tmp2.TXN_FUNDING,
2343                           round(tmp2.POU_FUNDING *
2344                                 tmp2.PA_RATE1 /
2345                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2346                    to_number(null))            GP1_FUNDING,
2347       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2348              tmp2.DANGLING_GL_RATE2_FLAG     ||
2349              tmp2.DANGLING_PA_RATE_FLAG      ||
2350              tmp2.DANGLING_PA_RATE2_FLAG     ||
2351              tmp2.DANGLING_EN_TIME_FLAG      ||
2352              tmp2.DANGLING_GL_TIME_FLAG      ||
2353              tmp2.DANGLING_PA_TIME_FLAG,
2354              null, decode(tmp2.TXN_CURRENCY_CODE,
2355                           l_g1_currency_code,
2356                           tmp2.TXN_INITIAL_FUNDING_AMOUNT,
2357                           round(tmp2.POU_INITIAL_FUNDING_AMOUNT *
2358                                 tmp2.PA_RATE1 /
2359                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2360                    to_number(null))            GP1_INITIAL_FUNDING_AMOUNT,
2361       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2362              tmp2.DANGLING_GL_RATE2_FLAG     ||
2363              tmp2.DANGLING_PA_RATE_FLAG      ||
2364              tmp2.DANGLING_PA_RATE2_FLAG     ||
2365              tmp2.DANGLING_EN_TIME_FLAG      ||
2366              tmp2.DANGLING_GL_TIME_FLAG      ||
2367              tmp2.DANGLING_PA_TIME_FLAG,
2368              null, decode(tmp2.TXN_CURRENCY_CODE,
2369                           l_g1_currency_code,
2370                           tmp2.TXN_ADDITIONAL_FUNDING_AMOUNT,
2371                           round(tmp2.POU_ADDITIONAL_FUNDING_AMOUNT *
2372                                 tmp2.PA_RATE1 /
2373                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2374                    to_number(null))            GP1_ADDITIONAL_FUNDING_AMOUNT,
2375       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2376              tmp2.DANGLING_GL_RATE2_FLAG     ||
2377              tmp2.DANGLING_PA_RATE_FLAG      ||
2378              tmp2.DANGLING_PA_RATE2_FLAG     ||
2379              tmp2.DANGLING_EN_TIME_FLAG      ||
2380              tmp2.DANGLING_GL_TIME_FLAG      ||
2381              tmp2.DANGLING_PA_TIME_FLAG,
2382              null, decode(tmp2.TXN_CURRENCY_CODE,
2383                           l_g1_currency_code,
2384                           tmp2.TXN_CANCELLED_FUNDING_AMOUNT,
2385                           round(tmp2.POU_CANCELLED_FUNDING_AMOUNT *
2386                                 tmp2.PA_RATE1 /
2387                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2388                    to_number(null))            GP1_CANCELLED_FUNDING_AMOUNT,
2389       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2390              tmp2.DANGLING_GL_RATE2_FLAG     ||
2391              tmp2.DANGLING_PA_RATE_FLAG      ||
2392              tmp2.DANGLING_PA_RATE2_FLAG     ||
2393              tmp2.DANGLING_EN_TIME_FLAG      ||
2394              tmp2.DANGLING_GL_TIME_FLAG      ||
2395              tmp2.DANGLING_PA_TIME_FLAG,
2396              null, decode(tmp2.TXN_CURRENCY_CODE,
2397                           l_g1_currency_code,
2398                           tmp2.TXN_FUNDING_ADJUSTMENT_AMOUNT,
2399                           round(tmp2.POU_FUNDING_ADJUSTMENT_AMOUNT *
2400                                 tmp2.PA_RATE1 /
2401                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2402                    to_number(null))            GP1_FUNDING_ADJUSTMENT_AMOUNT,
2403       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2404              tmp2.DANGLING_GL_RATE2_FLAG     ||
2405              tmp2.DANGLING_PA_RATE_FLAG      ||
2406              tmp2.DANGLING_PA_RATE2_FLAG     ||
2407              tmp2.DANGLING_EN_TIME_FLAG      ||
2408              tmp2.DANGLING_GL_TIME_FLAG      ||
2409              tmp2.DANGLING_PA_TIME_FLAG,
2410              null, decode(tmp2.TXN_CURRENCY_CODE,
2411                           l_g1_currency_code,
2412                           tmp2.TXN_REVENUE_WRITEOFF,
2413                           round(tmp2.POU_REVENUE_WRITEOFF *
2414                                 tmp2.PA_RATE1 /
2415                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2416                    to_number(null))            GP1_REVENUE_WRITEOFF,
2417       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2418              tmp2.DANGLING_GL_RATE2_FLAG     ||
2419              tmp2.DANGLING_PA_RATE_FLAG      ||
2420              tmp2.DANGLING_PA_RATE2_FLAG     ||
2421              tmp2.DANGLING_EN_TIME_FLAG      ||
2422              tmp2.DANGLING_GL_TIME_FLAG      ||
2423              tmp2.DANGLING_PA_TIME_FLAG,
2424              null, decode(tmp2.TXN_CURRENCY_CODE,
2425                           l_g1_currency_code,
2426                           tmp2.TXN_AR_INVOICE_AMOUNT,
2427                           round(tmp2.POU_AR_INVOICE_AMOUNT *
2428                                 tmp2.PA_RATE1 /
2429                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2430                    to_number(null))            GP1_AR_INVOICE_AMOUNT,
2431       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2432              tmp2.DANGLING_GL_RATE2_FLAG     ||
2433              tmp2.DANGLING_PA_RATE_FLAG      ||
2434              tmp2.DANGLING_PA_RATE2_FLAG     ||
2435              tmp2.DANGLING_EN_TIME_FLAG      ||
2436              tmp2.DANGLING_GL_TIME_FLAG      ||
2437              tmp2.DANGLING_PA_TIME_FLAG,
2438              null, decode(tmp2.TXN_CURRENCY_CODE,
2439                           l_g1_currency_code,
2440                           tmp2.TXN_AR_CASH_APPLIED_AMOUNT,
2441                           round(tmp2.POU_AR_CASH_APPLIED_AMOUNT *
2442                                 tmp2.PA_RATE1 /
2443                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2444                    to_number(null))            GP1_AR_CASH_APPLIED_AMOUNT,
2445       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2446              tmp2.DANGLING_GL_RATE2_FLAG     ||
2447              tmp2.DANGLING_PA_RATE_FLAG      ||
2448              tmp2.DANGLING_PA_RATE2_FLAG     ||
2449              tmp2.DANGLING_EN_TIME_FLAG      ||
2450              tmp2.DANGLING_GL_TIME_FLAG      ||
2451              tmp2.DANGLING_PA_TIME_FLAG,
2452              null, decode(tmp2.TXN_CURRENCY_CODE,
2453                           l_g1_currency_code,
2454                           tmp2.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
2455                           round(tmp2.POU_AR_INVOICE_WRITEOFF_AMOUNT *
2456                                 tmp2.PA_RATE1 /
2457                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2458                    to_number(null))            GP1_AR_INVOICE_WRITEOFF_AMOUNT,
2459       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2460              tmp2.DANGLING_GL_RATE2_FLAG     ||
2461              tmp2.DANGLING_PA_RATE_FLAG      ||
2462              tmp2.DANGLING_PA_RATE2_FLAG     ||
2463              tmp2.DANGLING_EN_TIME_FLAG      ||
2464              tmp2.DANGLING_GL_TIME_FLAG      ||
2465              tmp2.DANGLING_PA_TIME_FLAG,
2466              null, decode(tmp2.TXN_CURRENCY_CODE,
2467                           l_g1_currency_code,
2468                           tmp2.TXN_AR_CREDIT_MEMO_AMOUNT,
2469                           round(tmp2.POU_AR_CREDIT_MEMO_AMOUNT *
2470                                 tmp2.PA_RATE1 /
2471                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2472                    to_number(null))            GP1_AR_CREDIT_MEMO_AMOUNT,
2473       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2474              tmp2.DANGLING_GL_RATE2_FLAG     ||
2475              tmp2.DANGLING_PA_RATE_FLAG      ||
2476              tmp2.DANGLING_PA_RATE2_FLAG     ||
2477              tmp2.DANGLING_EN_TIME_FLAG      ||
2478              tmp2.DANGLING_GL_TIME_FLAG      ||
2479              tmp2.DANGLING_PA_TIME_FLAG,
2480              null, decode(tmp2.TXN_CURRENCY_CODE,
2481                           l_g1_currency_code,
2482                           tmp2.TXN_UNBILLED_RECEIVABLES,
2483                           round(tmp2.POU_UNBILLED_RECEIVABLES *
2484                                 tmp2.PA_RATE1 /
2485                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2486                    to_number(null))            GP1_UNBILLED_RECEIVABLES,
2487       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2488              tmp2.DANGLING_GL_RATE2_FLAG     ||
2489              tmp2.DANGLING_PA_RATE_FLAG      ||
2490              tmp2.DANGLING_PA_RATE2_FLAG     ||
2491              tmp2.DANGLING_EN_TIME_FLAG      ||
2492              tmp2.DANGLING_GL_TIME_FLAG      ||
2493              tmp2.DANGLING_PA_TIME_FLAG,
2494              null, decode(tmp2.TXN_CURRENCY_CODE,
2495                           l_g1_currency_code,
2496                           tmp2.TXN_UNEARNED_REVENUE,
2497                           round(tmp2.POU_UNEARNED_REVENUE *
2498                                 tmp2.PA_RATE1 /
2499                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2500                    to_number(null))            GP1_UNEARNED_REVENUE,
2501       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2502              tmp2.DANGLING_GL_RATE2_FLAG     ||
2503              tmp2.DANGLING_PA_RATE_FLAG      ||
2504              tmp2.DANGLING_PA_RATE2_FLAG     ||
2505              tmp2.DANGLING_EN_TIME_FLAG      ||
2506              tmp2.DANGLING_GL_TIME_FLAG      ||
2507              tmp2.DANGLING_PA_TIME_FLAG,
2508              null, decode(tmp2.TXN_CURRENCY_CODE,
2509                           l_g1_currency_code,
2510                           tmp2.TXN_AR_UNAPPR_INVOICE_AMOUNT,
2511                           round(tmp2.POU_AR_UNAPPR_INVOICE_AMOUNT *
2512                                 tmp2.PA_RATE1 /
2513                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2514                    to_number(null))            GP1_AR_UNAPPR_INVOICE_AMOUNT,
2515       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2516              tmp2.DANGLING_GL_RATE2_FLAG     ||
2517              tmp2.DANGLING_PA_RATE_FLAG      ||
2518              tmp2.DANGLING_PA_RATE2_FLAG     ||
2519              tmp2.DANGLING_EN_TIME_FLAG      ||
2520              tmp2.DANGLING_GL_TIME_FLAG      ||
2521              tmp2.DANGLING_PA_TIME_FLAG,
2522              null, decode(tmp2.TXN_CURRENCY_CODE,
2523                           l_g1_currency_code,
2524                           tmp2.TXN_AR_APPR_INVOICE_AMOUNT,
2525                           round(tmp2.POU_AR_APPR_INVOICE_AMOUNT *
2526                                 tmp2.PA_RATE1 /
2527                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2528                    to_number(null))            GP1_AR_APPR_INVOICE_AMOUNT,
2529       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2530              tmp2.DANGLING_GL_RATE2_FLAG     ||
2531              tmp2.DANGLING_PA_RATE_FLAG      ||
2532              tmp2.DANGLING_PA_RATE2_FLAG     ||
2533              tmp2.DANGLING_EN_TIME_FLAG      ||
2534              tmp2.DANGLING_GL_TIME_FLAG      ||
2535              tmp2.DANGLING_PA_TIME_FLAG,
2536              null, decode(tmp2.TXN_CURRENCY_CODE,
2537                           l_g1_currency_code,
2538                           tmp2.TXN_AR_AMOUNT_DUE,
2539                           round(tmp2.POU_AR_AMOUNT_DUE *
2540                                 tmp2.PA_RATE1 /
2541                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2542                    to_number(null))            GP1_AR_AMOUNT_DUE,
2543       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2544              tmp2.DANGLING_GL_RATE2_FLAG     ||
2545              tmp2.DANGLING_PA_RATE_FLAG      ||
2546              tmp2.DANGLING_PA_RATE2_FLAG     ||
2547              tmp2.DANGLING_EN_TIME_FLAG      ||
2548              tmp2.DANGLING_GL_TIME_FLAG      ||
2549              tmp2.DANGLING_PA_TIME_FLAG,
2550              null, decode(tmp2.TXN_CURRENCY_CODE,
2551                           l_g1_currency_code,
2552                           tmp2.TXN_AR_AMOUNT_OVERDUE,
2553                           round(tmp2.POU_AR_AMOUNT_OVERDUE *
2554                                 tmp2.PA_RATE1 /
2555                                 tmp2.PA_MAU1) * tmp2.PA_MAU1),
2556                    to_number(null))            GP1_AR_AMOUNT_OVERDUE,
2557       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2558              tmp2.DANGLING_GL_RATE2_FLAG     ||
2559              tmp2.DANGLING_PA_RATE_FLAG      ||
2560              tmp2.DANGLING_PA_RATE2_FLAG     ||
2561              tmp2.DANGLING_EN_TIME_FLAG      ||
2562              tmp2.DANGLING_GL_TIME_FLAG      ||
2563              tmp2.DANGLING_PA_TIME_FLAG,
2564              null, decode(tmp2.TXN_CURRENCY_CODE,
2565                           l_g2_currency_code,
2566                           tmp2.TXN_REVENUE,
2567                           round(tmp2.POU_REVENUE *
2568                                 tmp2.GL_RATE2 /
2569                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2570                    to_number(null))            GG2_REVENUE,
2571       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2572              tmp2.DANGLING_GL_RATE2_FLAG     ||
2573              tmp2.DANGLING_PA_RATE_FLAG      ||
2574              tmp2.DANGLING_PA_RATE2_FLAG     ||
2575              tmp2.DANGLING_EN_TIME_FLAG      ||
2576              tmp2.DANGLING_GL_TIME_FLAG      ||
2577              tmp2.DANGLING_PA_TIME_FLAG,
2578              null, decode(tmp2.TXN_CURRENCY_CODE,
2579                           l_g2_currency_code,
2580                           tmp2.TXN_FUNDING,
2581                           round(tmp2.POU_FUNDING *
2582                                 tmp2.GL_RATE2 /
2583                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2584                    to_number(null))            GG2_FUNDING,
2585       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2586              tmp2.DANGLING_GL_RATE2_FLAG     ||
2587              tmp2.DANGLING_PA_RATE_FLAG      ||
2588              tmp2.DANGLING_PA_RATE2_FLAG     ||
2589              tmp2.DANGLING_EN_TIME_FLAG      ||
2590              tmp2.DANGLING_GL_TIME_FLAG      ||
2591              tmp2.DANGLING_PA_TIME_FLAG,
2592              null, decode(tmp2.TXN_CURRENCY_CODE,
2593                           l_g2_currency_code,
2594                           tmp2.TXN_INITIAL_FUNDING_AMOUNT,
2595                           round(tmp2.POU_INITIAL_FUNDING_AMOUNT *
2596                                 tmp2.GL_RATE2 /
2597                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2598                    to_number(null))            GG2_INITIAL_FUNDING_AMOUNT,
2599       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2600              tmp2.DANGLING_GL_RATE2_FLAG     ||
2601              tmp2.DANGLING_PA_RATE_FLAG      ||
2602              tmp2.DANGLING_PA_RATE2_FLAG     ||
2603              tmp2.DANGLING_EN_TIME_FLAG      ||
2604              tmp2.DANGLING_GL_TIME_FLAG      ||
2605              tmp2.DANGLING_PA_TIME_FLAG,
2606              null, decode(tmp2.TXN_CURRENCY_CODE,
2607                           l_g2_currency_code,
2608                           tmp2.TXN_ADDITIONAL_FUNDING_AMOUNT,
2609                           round(tmp2.POU_ADDITIONAL_FUNDING_AMOUNT *
2610                                 tmp2.GL_RATE2 /
2611                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2612                    to_number(null))            GG2_ADDITIONAL_FUNDING_AMOUNT,
2613       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2614              tmp2.DANGLING_GL_RATE2_FLAG     ||
2615              tmp2.DANGLING_PA_RATE_FLAG      ||
2616              tmp2.DANGLING_PA_RATE2_FLAG     ||
2617              tmp2.DANGLING_EN_TIME_FLAG      ||
2618              tmp2.DANGLING_GL_TIME_FLAG      ||
2619              tmp2.DANGLING_PA_TIME_FLAG,
2620              null, decode(tmp2.TXN_CURRENCY_CODE,
2621                           l_g2_currency_code,
2622                           tmp2.TXN_CANCELLED_FUNDING_AMOUNT,
2623                           round(tmp2.POU_CANCELLED_FUNDING_AMOUNT *
2624                                 tmp2.GL_RATE2 /
2625                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2626                    to_number(null))            GG2_CANCELLED_FUNDING_AMOUNT,
2627       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2628              tmp2.DANGLING_GL_RATE2_FLAG     ||
2629              tmp2.DANGLING_PA_RATE_FLAG      ||
2630              tmp2.DANGLING_PA_RATE2_FLAG     ||
2631              tmp2.DANGLING_EN_TIME_FLAG      ||
2632              tmp2.DANGLING_GL_TIME_FLAG      ||
2633              tmp2.DANGLING_PA_TIME_FLAG,
2634              null, decode(tmp2.TXN_CURRENCY_CODE,
2635                           l_g2_currency_code,
2636                           tmp2.TXN_FUNDING_ADJUSTMENT_AMOUNT,
2637                           round(tmp2.POU_FUNDING_ADJUSTMENT_AMOUNT *
2638                                 tmp2.GL_RATE2 /
2639                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2640                    to_number(null))            GG2_FUNDING_ADJUSTMENT_AMOUNT,
2641       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2642              tmp2.DANGLING_GL_RATE2_FLAG     ||
2643              tmp2.DANGLING_PA_RATE_FLAG      ||
2644              tmp2.DANGLING_PA_RATE2_FLAG     ||
2645              tmp2.DANGLING_EN_TIME_FLAG      ||
2646              tmp2.DANGLING_GL_TIME_FLAG      ||
2647              tmp2.DANGLING_PA_TIME_FLAG,
2648              null, decode(tmp2.TXN_CURRENCY_CODE,
2649                           l_g2_currency_code,
2650                           tmp2.TXN_REVENUE_WRITEOFF,
2651                           round(tmp2.POU_REVENUE_WRITEOFF *
2652                                 tmp2.GL_RATE2 /
2653                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2654                    to_number(null))            GG2_REVENUE_WRITEOFF,
2655       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2656              tmp2.DANGLING_GL_RATE2_FLAG     ||
2657              tmp2.DANGLING_PA_RATE_FLAG      ||
2658              tmp2.DANGLING_PA_RATE2_FLAG     ||
2659              tmp2.DANGLING_EN_TIME_FLAG      ||
2660              tmp2.DANGLING_GL_TIME_FLAG      ||
2661              tmp2.DANGLING_PA_TIME_FLAG,
2662              null, decode(tmp2.TXN_CURRENCY_CODE,
2663                           l_g2_currency_code,
2664                           tmp2.TXN_AR_INVOICE_AMOUNT,
2665                           round(tmp2.POU_AR_INVOICE_AMOUNT *
2666                                 tmp2.GL_RATE2 /
2667                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2668                    to_number(null))            GG2_AR_INVOICE_AMOUNT,
2669       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2670              tmp2.DANGLING_GL_RATE2_FLAG     ||
2671              tmp2.DANGLING_PA_RATE_FLAG      ||
2672              tmp2.DANGLING_PA_RATE2_FLAG     ||
2673              tmp2.DANGLING_EN_TIME_FLAG      ||
2674              tmp2.DANGLING_GL_TIME_FLAG      ||
2675              tmp2.DANGLING_PA_TIME_FLAG,
2676              null, decode(tmp2.TXN_CURRENCY_CODE,
2677                           l_g2_currency_code,
2678                           tmp2.TXN_AR_CASH_APPLIED_AMOUNT,
2679                           round(tmp2.POU_AR_CASH_APPLIED_AMOUNT *
2680                                 tmp2.GL_RATE2 /
2681                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2682                    to_number(null))            GG2_AR_CASH_APPLIED_AMOUNT,
2683       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2684              tmp2.DANGLING_GL_RATE2_FLAG     ||
2685              tmp2.DANGLING_PA_RATE_FLAG      ||
2686              tmp2.DANGLING_PA_RATE2_FLAG     ||
2687              tmp2.DANGLING_EN_TIME_FLAG      ||
2688              tmp2.DANGLING_GL_TIME_FLAG      ||
2689              tmp2.DANGLING_PA_TIME_FLAG,
2690              null, decode(tmp2.TXN_CURRENCY_CODE,
2691                           l_g2_currency_code,
2692                           tmp2.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
2693                           round(tmp2.POU_AR_INVOICE_WRITEOFF_AMOUNT *
2694                                 tmp2.GL_RATE2 /
2695                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2696                    to_number(null))            GG2_AR_INVOICE_WRITEOFF_AMOUNT,
2697       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2698              tmp2.DANGLING_GL_RATE2_FLAG     ||
2699              tmp2.DANGLING_PA_RATE_FLAG      ||
2700              tmp2.DANGLING_PA_RATE2_FLAG     ||
2701              tmp2.DANGLING_EN_TIME_FLAG      ||
2702              tmp2.DANGLING_GL_TIME_FLAG      ||
2703              tmp2.DANGLING_PA_TIME_FLAG,
2704              null, decode(tmp2.TXN_CURRENCY_CODE,
2705                           l_g2_currency_code,
2706                           tmp2.TXN_AR_CREDIT_MEMO_AMOUNT,
2707                           round(tmp2.POU_AR_CREDIT_MEMO_AMOUNT *
2708                                 tmp2.GL_RATE2 /
2709                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2710                    to_number(null))            GG2_AR_CREDIT_MEMO_AMOUNT,
2711       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2712              tmp2.DANGLING_GL_RATE2_FLAG     ||
2713              tmp2.DANGLING_PA_RATE_FLAG      ||
2714              tmp2.DANGLING_PA_RATE2_FLAG     ||
2715              tmp2.DANGLING_EN_TIME_FLAG      ||
2716              tmp2.DANGLING_GL_TIME_FLAG      ||
2717              tmp2.DANGLING_PA_TIME_FLAG,
2718              null, decode(tmp2.TXN_CURRENCY_CODE,
2719                           l_g2_currency_code,
2720                           tmp2.TXN_UNBILLED_RECEIVABLES,
2721                           round(tmp2.POU_UNBILLED_RECEIVABLES *
2722                                 tmp2.GL_RATE2 /
2723                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2724                    to_number(null))            GG2_UNBILLED_RECEIVABLES,
2725       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2726              tmp2.DANGLING_GL_RATE2_FLAG     ||
2727              tmp2.DANGLING_PA_RATE_FLAG      ||
2728              tmp2.DANGLING_PA_RATE2_FLAG     ||
2729              tmp2.DANGLING_EN_TIME_FLAG      ||
2730              tmp2.DANGLING_GL_TIME_FLAG      ||
2731              tmp2.DANGLING_PA_TIME_FLAG,
2732              null, decode(tmp2.TXN_CURRENCY_CODE,
2733                           l_g2_currency_code,
2734                           tmp2.TXN_UNEARNED_REVENUE,
2735                           round(tmp2.POU_UNEARNED_REVENUE *
2736                                 tmp2.GL_RATE2 /
2737                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2738                    to_number(null))            GG2_UNEARNED_REVENUE,
2739       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2740              tmp2.DANGLING_GL_RATE2_FLAG     ||
2741              tmp2.DANGLING_PA_RATE_FLAG      ||
2742              tmp2.DANGLING_PA_RATE2_FLAG     ||
2743              tmp2.DANGLING_EN_TIME_FLAG      ||
2744              tmp2.DANGLING_GL_TIME_FLAG      ||
2745              tmp2.DANGLING_PA_TIME_FLAG,
2746              null, decode(tmp2.TXN_CURRENCY_CODE,
2747                           l_g2_currency_code,
2748                           tmp2.TXN_AR_UNAPPR_INVOICE_AMOUNT,
2749                           round(tmp2.POU_AR_UNAPPR_INVOICE_AMOUNT *
2750                                 tmp2.GL_RATE2 /
2751                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2752                    to_number(null))            GG2_AR_UNAPPR_INVOICE_AMOUNT,
2753       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2754              tmp2.DANGLING_GL_RATE2_FLAG     ||
2755              tmp2.DANGLING_PA_RATE_FLAG      ||
2756              tmp2.DANGLING_PA_RATE2_FLAG     ||
2757              tmp2.DANGLING_EN_TIME_FLAG      ||
2758              tmp2.DANGLING_GL_TIME_FLAG      ||
2759              tmp2.DANGLING_PA_TIME_FLAG,
2760              null, decode(tmp2.TXN_CURRENCY_CODE,
2761                           l_g2_currency_code,
2762                           tmp2.TXN_AR_APPR_INVOICE_AMOUNT,
2763                           round(tmp2.POU_AR_APPR_INVOICE_AMOUNT *
2764                                 tmp2.GL_RATE2 /
2765                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2766                    to_number(null))            GG2_AR_APPR_INVOICE_AMOUNT,
2767       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2768              tmp2.DANGLING_GL_RATE2_FLAG     ||
2769              tmp2.DANGLING_PA_RATE_FLAG      ||
2770              tmp2.DANGLING_PA_RATE2_FLAG     ||
2771              tmp2.DANGLING_EN_TIME_FLAG      ||
2772              tmp2.DANGLING_GL_TIME_FLAG      ||
2773              tmp2.DANGLING_PA_TIME_FLAG,
2774              null, decode(tmp2.TXN_CURRENCY_CODE,
2775                           l_g2_currency_code,
2776                           tmp2.TXN_AR_AMOUNT_DUE,
2777                           round(tmp2.POU_AR_AMOUNT_DUE *
2778                                 tmp2.GL_RATE2 /
2779                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2780                    to_number(null))            GG2_AR_AMOUNT_DUE,
2781       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2782              tmp2.DANGLING_GL_RATE2_FLAG     ||
2783              tmp2.DANGLING_PA_RATE_FLAG      ||
2784              tmp2.DANGLING_PA_RATE2_FLAG     ||
2785              tmp2.DANGLING_EN_TIME_FLAG      ||
2786              tmp2.DANGLING_GL_TIME_FLAG      ||
2787              tmp2.DANGLING_PA_TIME_FLAG,
2788              null, decode(tmp2.TXN_CURRENCY_CODE,
2789                           l_g2_currency_code,
2790                           tmp2.TXN_AR_AMOUNT_OVERDUE,
2791                           round(tmp2.POU_AR_AMOUNT_OVERDUE *
2792                                 tmp2.GL_RATE2 /
2793                                 tmp2.GL_MAU2) * tmp2.GL_MAU2),
2794                    to_number(null))            GG2_AR_AMOUNT_OVERDUE,
2795       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2796              tmp2.DANGLING_GL_RATE2_FLAG     ||
2797              tmp2.DANGLING_PA_RATE_FLAG      ||
2798              tmp2.DANGLING_PA_RATE2_FLAG     ||
2799              tmp2.DANGLING_EN_TIME_FLAG      ||
2800              tmp2.DANGLING_GL_TIME_FLAG      ||
2801              tmp2.DANGLING_PA_TIME_FLAG,
2802              null, decode(tmp2.TXN_CURRENCY_CODE,
2803                           l_g2_currency_code,
2804                           tmp2.TXN_REVENUE,
2805                           round(tmp2.POU_REVENUE *
2806                                 tmp2.PA_RATE2 /
2807                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2808                    to_number(null))            GP2_REVENUE,
2809       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2810              tmp2.DANGLING_GL_RATE2_FLAG     ||
2811              tmp2.DANGLING_PA_RATE_FLAG      ||
2812              tmp2.DANGLING_PA_RATE2_FLAG     ||
2813              tmp2.DANGLING_EN_TIME_FLAG      ||
2814              tmp2.DANGLING_GL_TIME_FLAG      ||
2815              tmp2.DANGLING_PA_TIME_FLAG,
2816              null, decode(tmp2.TXN_CURRENCY_CODE,
2817                           l_g2_currency_code,
2818                           tmp2.TXN_FUNDING,
2819                           round(tmp2.POU_FUNDING *
2820                                 tmp2.PA_RATE2 /
2821                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2822                    to_number(null))            GP2_FUNDING,
2823       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2824              tmp2.DANGLING_GL_RATE2_FLAG     ||
2825              tmp2.DANGLING_PA_RATE_FLAG      ||
2826              tmp2.DANGLING_PA_RATE2_FLAG     ||
2827              tmp2.DANGLING_EN_TIME_FLAG      ||
2828              tmp2.DANGLING_GL_TIME_FLAG      ||
2829              tmp2.DANGLING_PA_TIME_FLAG,
2830              null, decode(tmp2.TXN_CURRENCY_CODE,
2831                           l_g2_currency_code,
2832                           tmp2.TXN_INITIAL_FUNDING_AMOUNT,
2833                           round(tmp2.POU_INITIAL_FUNDING_AMOUNT *
2834                                 tmp2.PA_RATE2 /
2835                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2836                    to_number(null))            GP2_INITIAL_FUNDING_AMOUNT,
2837       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2838              tmp2.DANGLING_GL_RATE2_FLAG     ||
2839              tmp2.DANGLING_PA_RATE_FLAG      ||
2840              tmp2.DANGLING_PA_RATE2_FLAG     ||
2841              tmp2.DANGLING_EN_TIME_FLAG      ||
2842              tmp2.DANGLING_GL_TIME_FLAG      ||
2843              tmp2.DANGLING_PA_TIME_FLAG,
2844              null, decode(tmp2.TXN_CURRENCY_CODE,
2845                           l_g2_currency_code,
2846                           tmp2.TXN_ADDITIONAL_FUNDING_AMOUNT,
2847                           round(tmp2.POU_ADDITIONAL_FUNDING_AMOUNT *
2848                                 tmp2.PA_RATE2 /
2849                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2850                    to_number(null))            GP2_ADDITIONAL_FUNDING_AMOUNT,
2851       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2852              tmp2.DANGLING_GL_RATE2_FLAG     ||
2853              tmp2.DANGLING_PA_RATE_FLAG      ||
2854              tmp2.DANGLING_PA_RATE2_FLAG     ||
2855              tmp2.DANGLING_EN_TIME_FLAG      ||
2856              tmp2.DANGLING_GL_TIME_FLAG      ||
2857              tmp2.DANGLING_PA_TIME_FLAG,
2858              null, decode(tmp2.TXN_CURRENCY_CODE,
2859                           l_g2_currency_code,
2860                           tmp2.TXN_CANCELLED_FUNDING_AMOUNT,
2861                           round(tmp2.POU_CANCELLED_FUNDING_AMOUNT *
2862                                 tmp2.PA_RATE2 /
2863                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2864                    to_number(null))            GP2_CANCELLED_FUNDING_AMOUNT,
2865       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2866              tmp2.DANGLING_GL_RATE2_FLAG     ||
2867              tmp2.DANGLING_PA_RATE_FLAG      ||
2868              tmp2.DANGLING_PA_RATE2_FLAG     ||
2869              tmp2.DANGLING_EN_TIME_FLAG      ||
2870              tmp2.DANGLING_GL_TIME_FLAG      ||
2871              tmp2.DANGLING_PA_TIME_FLAG,
2872              null, decode(tmp2.TXN_CURRENCY_CODE,
2873                           l_g2_currency_code,
2874                           tmp2.TXN_FUNDING_ADJUSTMENT_AMOUNT,
2875                           round(tmp2.POU_FUNDING_ADJUSTMENT_AMOUNT *
2876                                 tmp2.PA_RATE2 /
2877                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2878                    to_number(null))            GP2_FUNDING_ADJUSTMENT_AMOUNT,
2879       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2880              tmp2.DANGLING_GL_RATE2_FLAG     ||
2881              tmp2.DANGLING_PA_RATE_FLAG      ||
2882              tmp2.DANGLING_PA_RATE2_FLAG     ||
2883              tmp2.DANGLING_EN_TIME_FLAG      ||
2884              tmp2.DANGLING_GL_TIME_FLAG      ||
2885              tmp2.DANGLING_PA_TIME_FLAG,
2886              null, decode(tmp2.TXN_CURRENCY_CODE,
2887                           l_g2_currency_code,
2888                           tmp2.TXN_REVENUE_WRITEOFF,
2889                           round(tmp2.POU_REVENUE_WRITEOFF *
2890                                 tmp2.PA_RATE2 /
2891                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2892                    to_number(null))            GP2_REVENUE_WRITEOFF,
2893       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2894              tmp2.DANGLING_GL_RATE2_FLAG     ||
2895              tmp2.DANGLING_PA_RATE_FLAG      ||
2896              tmp2.DANGLING_PA_RATE2_FLAG     ||
2897              tmp2.DANGLING_EN_TIME_FLAG      ||
2898              tmp2.DANGLING_GL_TIME_FLAG      ||
2899              tmp2.DANGLING_PA_TIME_FLAG,
2900              null, decode(tmp2.TXN_CURRENCY_CODE,
2901                           l_g2_currency_code,
2902                           tmp2.TXN_AR_INVOICE_AMOUNT,
2903                           round(tmp2.POU_AR_INVOICE_AMOUNT *
2904                                 tmp2.PA_RATE2 /
2905                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2906                    to_number(null))            GP2_AR_INVOICE_AMOUNT,
2907       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2908              tmp2.DANGLING_GL_RATE2_FLAG     ||
2909              tmp2.DANGLING_PA_RATE_FLAG      ||
2910              tmp2.DANGLING_PA_RATE2_FLAG     ||
2911              tmp2.DANGLING_EN_TIME_FLAG      ||
2912              tmp2.DANGLING_GL_TIME_FLAG      ||
2913              tmp2.DANGLING_PA_TIME_FLAG,
2914              null, decode(tmp2.TXN_CURRENCY_CODE,
2915                           l_g2_currency_code,
2916                           tmp2.TXN_AR_CASH_APPLIED_AMOUNT,
2917                           round(tmp2.POU_AR_CASH_APPLIED_AMOUNT *
2918                                 tmp2.PA_RATE2 /
2919                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2920                    to_number(null))            GP2_AR_CASH_APPLIED_AMOUNT,
2921       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2922              tmp2.DANGLING_GL_RATE2_FLAG     ||
2923              tmp2.DANGLING_PA_RATE_FLAG      ||
2924              tmp2.DANGLING_PA_RATE2_FLAG     ||
2925              tmp2.DANGLING_EN_TIME_FLAG      ||
2926              tmp2.DANGLING_GL_TIME_FLAG      ||
2927              tmp2.DANGLING_PA_TIME_FLAG,
2928              null, decode(tmp2.TXN_CURRENCY_CODE,
2929                           l_g2_currency_code,
2930                           tmp2.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
2931                           round(tmp2.POU_AR_INVOICE_WRITEOFF_AMOUNT *
2932                                 tmp2.PA_RATE2 /
2933                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2934                    to_number(null))            GP2_AR_INVOICE_WRITEOFF_AMOUNT,
2935       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2936              tmp2.DANGLING_GL_RATE2_FLAG     ||
2937              tmp2.DANGLING_PA_RATE_FLAG      ||
2938              tmp2.DANGLING_PA_RATE2_FLAG     ||
2939              tmp2.DANGLING_EN_TIME_FLAG      ||
2940              tmp2.DANGLING_GL_TIME_FLAG      ||
2941              tmp2.DANGLING_PA_TIME_FLAG,
2942              null, decode(tmp2.TXN_CURRENCY_CODE,
2943                           l_g2_currency_code,
2944                           tmp2.TXN_AR_CREDIT_MEMO_AMOUNT,
2945                           round(tmp2.POU_AR_CREDIT_MEMO_AMOUNT *
2946                                 tmp2.PA_RATE2 /
2947                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2948                    to_number(null))            GP2_AR_CREDIT_MEMO_AMOUNT,
2949       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2950              tmp2.DANGLING_GL_RATE2_FLAG     ||
2951              tmp2.DANGLING_PA_RATE_FLAG      ||
2952              tmp2.DANGLING_PA_RATE2_FLAG     ||
2953              tmp2.DANGLING_EN_TIME_FLAG      ||
2954              tmp2.DANGLING_GL_TIME_FLAG      ||
2955              tmp2.DANGLING_PA_TIME_FLAG,
2956              null, decode(tmp2.TXN_CURRENCY_CODE,
2957                           l_g2_currency_code,
2958                           tmp2.TXN_UNBILLED_RECEIVABLES,
2959                           round(tmp2.POU_UNBILLED_RECEIVABLES *
2960                                 tmp2.PA_RATE2 /
2961                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2962                    to_number(null))            GP2_UNBILLED_RECEIVABLES,
2963       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2964              tmp2.DANGLING_GL_RATE2_FLAG     ||
2965              tmp2.DANGLING_PA_RATE_FLAG      ||
2966              tmp2.DANGLING_PA_RATE2_FLAG     ||
2967              tmp2.DANGLING_EN_TIME_FLAG      ||
2968              tmp2.DANGLING_GL_TIME_FLAG      ||
2969              tmp2.DANGLING_PA_TIME_FLAG,
2970              null, decode(tmp2.TXN_CURRENCY_CODE,
2971                           l_g2_currency_code,
2972                           tmp2.TXN_UNEARNED_REVENUE,
2973                           round(tmp2.POU_UNEARNED_REVENUE *
2974                                 tmp2.PA_RATE2 /
2975                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2976                    to_number(null))            GP2_UNEARNED_REVENUE,
2977       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2978              tmp2.DANGLING_GL_RATE2_FLAG     ||
2979              tmp2.DANGLING_PA_RATE_FLAG      ||
2980              tmp2.DANGLING_PA_RATE2_FLAG     ||
2981              tmp2.DANGLING_EN_TIME_FLAG      ||
2982              tmp2.DANGLING_GL_TIME_FLAG      ||
2983              tmp2.DANGLING_PA_TIME_FLAG,
2984              null, decode(tmp2.TXN_CURRENCY_CODE,
2985                           l_g2_currency_code,
2986                           tmp2.TXN_AR_UNAPPR_INVOICE_AMOUNT,
2987                           round(tmp2.POU_AR_UNAPPR_INVOICE_AMOUNT *
2988                                 tmp2.PA_RATE2 /
2989                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
2990                    to_number(null))            GP2_AR_UNAPPR_INVOICE_AMOUNT,
2991       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
2992              tmp2.DANGLING_GL_RATE2_FLAG     ||
2993              tmp2.DANGLING_PA_RATE_FLAG      ||
2994              tmp2.DANGLING_PA_RATE2_FLAG     ||
2995              tmp2.DANGLING_EN_TIME_FLAG      ||
2996              tmp2.DANGLING_GL_TIME_FLAG      ||
2997              tmp2.DANGLING_PA_TIME_FLAG,
2998              null, decode(tmp2.TXN_CURRENCY_CODE,
2999                           l_g2_currency_code,
3000                           tmp2.TXN_AR_APPR_INVOICE_AMOUNT,
3001                           round(tmp2.POU_AR_APPR_INVOICE_AMOUNT *
3002                                 tmp2.PA_RATE2 /
3003                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
3004                    to_number(null))            GP2_AR_APPR_INVOICE_AMOUNT,
3005       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
3006              tmp2.DANGLING_GL_RATE2_FLAG     ||
3007              tmp2.DANGLING_PA_RATE_FLAG      ||
3008              tmp2.DANGLING_PA_RATE2_FLAG     ||
3009              tmp2.DANGLING_EN_TIME_FLAG      ||
3010              tmp2.DANGLING_GL_TIME_FLAG      ||
3011              tmp2.DANGLING_PA_TIME_FLAG,
3012              null, decode(tmp2.TXN_CURRENCY_CODE,
3013                           l_g2_currency_code,
3014                           tmp2.TXN_AR_AMOUNT_DUE,
3015                           round(tmp2.POU_AR_AMOUNT_DUE *
3016                                 tmp2.PA_RATE2 /
3017                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
3018                    to_number(null))            GP2_AR_AMOUNT_DUE,
3019       decode(tmp2.DANGLING_GL_RATE_FLAG      ||
3020              tmp2.DANGLING_GL_RATE2_FLAG     ||
3021              tmp2.DANGLING_PA_RATE_FLAG      ||
3022              tmp2.DANGLING_PA_RATE2_FLAG     ||
3023              tmp2.DANGLING_EN_TIME_FLAG      ||
3024              tmp2.DANGLING_GL_TIME_FLAG      ||
3025              tmp2.DANGLING_PA_TIME_FLAG,
3026              null, decode(tmp2.TXN_CURRENCY_CODE,
3027                           l_g2_currency_code,
3028                           tmp2.TXN_AR_AMOUNT_OVERDUE,
3029                           round(tmp2.POU_AR_AMOUNT_OVERDUE *
3030                                 tmp2.PA_RATE2 /
3031                                 tmp2.PA_MAU2) * tmp2.PA_MAU2),
3032                    to_number(null))            GP2_AR_AMOUNT_OVERDUE
3033     from
3034     (
3035     select /*+ ordered
3036                full(tmp2)      use_hash(tmp2)     parallel(tmp2)
3037                full(map)       use_hash(map)      parallel(map)
3038                full(prj_info)  use_hash(prj_info)
3039                full(gl_rt)     use_hash(gl_rt)
3040                full(pa_rt)     use_hash(pa_rt)
3041             */
3042       decode(gl_rt.RATE,
3043              -3, 'E', -- EUR rate for 01-JAN-1999 is missing
3044              decode(sign(gl_rt.RATE),
3045                     -1, 'Y', null))            DANGLING_GL_RATE_FLAG,
3046       decode(l_g2_currency_flag,
3047              'Y', decode(gl_rt.RATE2,
3048                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
3049                          decode(sign(gl_rt.RATE2),
3050                                 -1, 'Y', null)),
3051              null)                             DANGLING_GL_RATE2_FLAG,
3052       decode(pa_rt.RATE,
3053              -3, 'E', -- EUR rate for 01-JAN-1999 is missing
3054              decode(sign(pa_rt.RATE),
3055                     -1, 'Y', null))            DANGLING_PA_RATE_FLAG,
3056       decode(l_g2_currency_flag,
3057              'Y', decode(pa_rt.RATE2,
3058                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
3059                          decode(sign(pa_rt.RATE2),
3060                                 -1, 'Y', null)),
3061              null)                             DANGLING_PA_RATE2_FLAG,
3062       decode(sign(prj_info.EN_CALENDAR_MIN_DATE -
3063                   tmp2.GL_TIME_ID) +
3064              sign(tmp2.GL_TIME_ID -
3065                   prj_info.EN_CALENDAR_MAX_DATE),
3066              0, 'Y', null)                     DANGLING_EN_TIME_FLAG,
3067       decode(sign(prj_info.GL_CALENDAR_MIN_DATE -
3068                   tmp2.GL_TIME_ID) +
3069              sign(tmp2.GL_TIME_ID -
3070                   prj_info.GL_CALENDAR_MAX_DATE),
3071              0, 'Y', null)                     DANGLING_GL_TIME_FLAG,
3072       decode(sign(prj_info.PA_CALENDAR_MIN_DATE -
3073                   tmp2.PA_TIME_ID) +
3074              sign(tmp2.PA_TIME_ID -
3075                   prj_info.PA_CALENDAR_MAX_DATE),
3076              0, 'Y', null)                     DANGLING_PA_TIME_FLAG,
3077       tmp2.ROWID                               ROW_ID,
3078       tmp2.PROJECT_ID,
3079       tmp2.PROJECT_ORG_ID,
3080       tmp2.PROJECT_ORGANIZATION_ID,
3081       tmp2.GL_TIME_ID,
3082       tmp2.GL_PERIOD_NAME,
3083       tmp2.PA_TIME_ID,
3084       tmp2.PA_PERIOD_NAME,
3085       prj_info.GL_CALENDAR_ID,
3086       prj_info.PA_CALENDAR_ID,
3087       gl_rt.RATE                               GL_RATE1,
3088       gl_rt.RATE2                              GL_RATE2,
3089       pa_rt.RATE                               PA_RATE1,
3090       pa_rt.RATE2                              PA_RATE2,
3091       gl_rt.MAU                                GL_MAU1,
3092       gl_rt.MAU2                               GL_MAU2,
3093       pa_rt.MAU                                PA_MAU1,
3094       pa_rt.MAU2                               PA_MAU2,
3095       tmp2.TXN_CURRENCY_CODE,
3096       tmp2.TXN_REVENUE,
3097       tmp2.TXN_FUNDING,
3098       tmp2.TXN_INITIAL_FUNDING_AMOUNT,
3099       tmp2.TXN_ADDITIONAL_FUNDING_AMOUNT,
3100       tmp2.TXN_CANCELLED_FUNDING_AMOUNT,
3101       tmp2.TXN_FUNDING_ADJUSTMENT_AMOUNT,
3102       tmp2.TXN_REVENUE_WRITEOFF,
3103       tmp2.TXN_AR_INVOICE_AMOUNT,
3104       tmp2.TXN_AR_CASH_APPLIED_AMOUNT,
3105       tmp2.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
3106       tmp2.TXN_AR_CREDIT_MEMO_AMOUNT,
3107       tmp2.TXN_UNBILLED_RECEIVABLES,
3108       tmp2.TXN_UNEARNED_REVENUE,
3109       tmp2.TXN_AR_UNAPPR_INVOICE_AMOUNT,
3110       tmp2.TXN_AR_APPR_INVOICE_AMOUNT,
3111       tmp2.TXN_AR_AMOUNT_DUE,
3112       tmp2.TXN_AR_AMOUNT_OVERDUE,
3113       tmp2.PRJ_REVENUE,
3114       tmp2.PRJ_FUNDING,
3115       tmp2.PRJ_INITIAL_FUNDING_AMOUNT,
3116       tmp2.PRJ_ADDITIONAL_FUNDING_AMOUNT,
3117       tmp2.PRJ_CANCELLED_FUNDING_AMOUNT,
3118       tmp2.PRJ_FUNDING_ADJUSTMENT_AMOUNT,
3119       tmp2.PRJ_REVENUE_WRITEOFF,
3120       tmp2.PRJ_AR_INVOICE_AMOUNT,
3121       tmp2.PRJ_AR_CASH_APPLIED_AMOUNT,
3122       tmp2.PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
3123       tmp2.PRJ_AR_CREDIT_MEMO_AMOUNT,
3124       tmp2.PRJ_UNBILLED_RECEIVABLES,
3125       tmp2.PRJ_UNEARNED_REVENUE,
3126       tmp2.PRJ_AR_UNAPPR_INVOICE_AMOUNT,
3127       tmp2.PRJ_AR_APPR_INVOICE_AMOUNT,
3128       tmp2.PRJ_AR_AMOUNT_DUE,
3129       tmp2.PRJ_AR_AMOUNT_OVERDUE,
3130       tmp2.POU_REVENUE,
3131       tmp2.POU_FUNDING,
3132       tmp2.POU_INITIAL_FUNDING_AMOUNT,
3133       tmp2.POU_ADDITIONAL_FUNDING_AMOUNT,
3134       tmp2.POU_CANCELLED_FUNDING_AMOUNT,
3135       tmp2.POU_FUNDING_ADJUSTMENT_AMOUNT,
3136       tmp2.POU_REVENUE_WRITEOFF,
3137       tmp2.POU_AR_INVOICE_AMOUNT,
3138       tmp2.POU_AR_CASH_APPLIED_AMOUNT,
3139       tmp2.POU_AR_INVOICE_WRITEOFF_AMOUNT,
3140       tmp2.POU_AR_CREDIT_MEMO_AMOUNT,
3141       tmp2.POU_UNBILLED_RECEIVABLES,
3142       tmp2.POU_UNEARNED_REVENUE,
3143       tmp2.POU_AR_UNAPPR_INVOICE_AMOUNT,
3144       tmp2.POU_AR_APPR_INVOICE_AMOUNT,
3145       tmp2.POU_AR_AMOUNT_DUE,
3146       tmp2.POU_AR_AMOUNT_OVERDUE,
3147       tmp2.INITIAL_FUNDING_COUNT,
3148       tmp2.ADDITIONAL_FUNDING_COUNT,
3149       tmp2.CANCELLED_FUNDING_COUNT,
3150       tmp2.FUNDING_ADJUSTMENT_COUNT,
3151       tmp2.AR_INVOICE_COUNT,
3152       tmp2.AR_CASH_APPLIED_COUNT,
3153       tmp2.AR_INVOICE_WRITEOFF_COUNT,
3154       tmp2.AR_CREDIT_MEMO_COUNT,
3155       tmp2.AR_UNAPPR_INVOICE_COUNT,
3156       tmp2.AR_APPR_INVOICE_COUNT,
3157       tmp2.AR_COUNT_DUE,
3158       tmp2.AR_COUNT_OVERDUE
3159     from
3160       PJI_FM_DNGL_ACT       tmp2,
3161       PJI_FM_PROJ_BATCH_MAP map,
3162       PJI_ORG_EXTR_INFO     prj_info,
3163       PJI_FM_AGGR_DLY_RATES     gl_rt,
3164       PJI_FM_AGGR_DLY_RATES     pa_rt
3165     where
3166       tmp2.WORKER_ID            = 0                      and
3167       map.WORKER_ID             = p_worker_id            and
3168       map.PROJECT_ID            = tmp2.PROJECT_ID        and
3169       tmp2.PROJECT_ORG_ID       = prj_info.ORG_ID        and
3170       gl_rt.WORKER_ID           = -1                     and
3171       tmp2.GL_TIME_ID           = gl_rt.TIME_ID          and
3172       prj_info.PF_CURRENCY_CODE = gl_rt.PF_CURRENCY_CODE and
3173       pa_rt.WORKER_ID           = -1                     and
3174       tmp2.PA_TIME_ID           = pa_rt.TIME_ID          and
3175       prj_info.PF_CURRENCY_CODE = pa_rt.PF_CURRENCY_CODE
3176     ) tmp2;
3177 
3178     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.DANGLING_ACT_ROWS(p_worker_id);');
3179 
3180     commit;
3181 
3182   end DANGLING_ACT_ROWS;
3183 
3184 
3185   -- -----------------------------------------------------
3186   -- procedure PURGE_DANGLING_FIN_ROWS
3187   -- -----------------------------------------------------
3188   procedure PURGE_DANGLING_FIN_ROWS (p_worker_id in number) is
3189 
3190     l_process varchar2(30);
3191 
3192   begin
3193 
3194     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
3195 
3196     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.PURGE_DANGLING_FIN_ROWS(p_worker_id);')) then
3197       return;
3198     end if;
3199 
3200     /* delete /*+ parallel(fin)
3201     from   PJI_FM_DNGL_FIN fin
3202     where  WORKER_ID = 0 and
3203            (RECORD_TYPE = 'M' or
3204             ROWID in (select ROW_ID
3205                       from   PJI_FM_AGGR_FIN2
3206                       where  WORKER_ID = p_worker_id)); */
3207 -- Commented above and added below for Bug 7357456
3208 -- Spliting the above delete into two different deletes statements
3209     delete from PJI_FM_DNGL_FIN where worker_id = 0 and record_type = 'M';
3210 
3211     delete from PJI_FM_DNGL_FIN where worker_id = 0 and ROWID in (select row_id from PJI_FM_AGGR_FIN2 where worker_id = p_worker_id);
3212 -- End for Bug# 7357456
3213 
3214     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.PURGE_DANGLING_FIN_ROWS(p_worker_id);');
3215 
3216     commit;
3217 
3218   end PURGE_DANGLING_FIN_ROWS;
3219 
3220 
3221   -- -----------------------------------------------------
3222   -- procedure PURGE_DANGLING_ACT_ROWS
3223   -- -----------------------------------------------------
3224   procedure PURGE_DANGLING_ACT_ROWS (p_worker_id in number) is
3225 
3226     l_process varchar2(30);
3227 
3228   begin
3229 
3230     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
3231 
3232     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.PURGE_DANGLING_ACT_ROWS(p_worker_id);')) then
3233       return;
3234     end if;
3235 
3236     delete /*+ parallel(act) */
3237     from   PJI_FM_DNGL_ACT act
3238     where  WORKER_ID = 0 and
3239            ROWID in (select ROW_ID
3240                      from   PJI_FM_AGGR_ACT2
3241                      where  WORKER_ID = p_worker_id);
3242 
3243     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.PURGE_DANGLING_ACT_ROWS(p_worker_id);');
3244 
3245     commit;
3246 
3247   end PURGE_DANGLING_ACT_ROWS;
3248 
3249 
3250   -- -----------------------------------------------------
3251   -- procedure FIN_SUMMARY
3252   -- -----------------------------------------------------
3253   procedure FIN_SUMMARY (p_worker_id in number) is
3254 
3255     l_process           varchar2(30);
3256     l_schema            varchar2(30);
3257 
3258     l_transition_flag   varchar2(1);
3259     l_params_cost_flag  varchar2(1);
3260     l_params_util_flag  varchar2(1);
3261     l_txn_currency_flag varchar2(1);
3262     l_g2_currency_flag  varchar2(1);
3263     l_g1_currency_code  varchar2(30);
3264     l_g2_currency_code  varchar2(30);
3265 
3266   begin
3267 
3268     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
3269 
3270     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.FIN_SUMMARY(p_worker_id);')) then
3271       return;
3272     end if;
3273 
3274     l_transition_flag :=
3275           PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER(PJI_FM_SUM_MAIN.g_process,
3276                                                  'TRANSITION');
3277 
3278     if (l_transition_flag = 'Y') then
3279 
3280       l_params_cost_flag :=
3281       nvl(PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER(PJI_FM_SUM_MAIN.g_process,
3282                                                  'CONFIG_COST_FLAG'), 'N');
3283       l_params_util_flag :=
3284       nvl(PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER(PJI_FM_SUM_MAIN.g_process,
3285                                                  'CONFIG_UTIL_FLAG'), 'N');
3286 
3287     else -- l_transition is null or 'N'
3288 
3289       l_params_cost_flag :=
3290                          nvl(PJI_UTILS.GET_PARAMETER('CONFIG_COST_FLAG'), 'N');
3291       l_params_util_flag :=
3292                          nvl(PJI_UTILS.GET_PARAMETER('CONFIG_UTIL_FLAG'), 'N');
3293 
3294     end if;
3295 
3296     select
3297       TXN_CURR_FLAG,
3298       GLOBAL_CURR2_FLAG
3299     into
3300       l_txn_currency_flag,
3301       l_g2_currency_flag
3302     from
3303       PJI_SYSTEM_SETTINGS;
3304 
3305     l_g1_currency_code := PJI_UTILS.GET_GLOBAL_PRIMARY_CURRENCY;
3306     l_g2_currency_code := PJI_UTILS.GET_GLOBAL_SECONDARY_CURRENCY;
3307 
3308     insert /*+ noappend parallel(fin2_i) */ into PJI_FM_AGGR_FIN2 fin2_i  --  in FIN_SUMMARY
3309     (     --Bug 7139059
3310       WORKER_ID,
3311       DANGLING_RECVR_GL_RATE_FLAG,
3312       DANGLING_RECVR_GL_RATE2_FLAG,
3313       DANGLING_RECVR_PA_RATE_FLAG,
3314       DANGLING_RECVR_PA_RATE2_FLAG,
3315       DANGLING_PRVDR_EN_TIME_FLAG,
3316       DANGLING_RECVR_EN_TIME_FLAG,
3317       DANGLING_EXP_EN_TIME_FLAG,
3318       DANGLING_PRVDR_GL_TIME_FLAG,
3319       DANGLING_RECVR_GL_TIME_FLAG,
3320       DANGLING_EXP_GL_TIME_FLAG,
3321       DANGLING_PRVDR_PA_TIME_FLAG,
3322       DANGLING_RECVR_PA_TIME_FLAG,
3323       DANGLING_EXP_PA_TIME_FLAG,
3324       ROW_ID,
3325       PJI_PROJECT_RECORD_FLAG,
3326       PJI_RESOURCE_RECORD_FLAG,
3327       RECORD_TYPE,
3328       CMT_RECORD_TYPE,
3329       PROJECT_ID,
3330       PROJECT_ORG_ID,
3331       PROJECT_ORGANIZATION_ID,
3332       PROJECT_TYPE_CLASS,
3333       PERSON_ID,
3334       EXPENDITURE_ORG_ID,
3335       EXPENDITURE_ORGANIZATION_ID,
3336       EXP_EVT_TYPE_ID,
3337       WORK_TYPE_ID,
3338       JOB_ID,
3339       TASK_ID,
3340       VENDOR_ID,
3341       EXPENDITURE_TYPE,
3342       EVENT_TYPE,
3343       EVENT_TYPE_CLASSIFICATION,
3344       EXPENDITURE_CATEGORY,
3345       REVENUE_CATEGORY,
3346       NON_LABOR_RESOURCE,
3347       BOM_LABOR_RESOURCE_ID,
3348       BOM_EQUIPMENT_RESOURCE_ID,
3349       INVENTORY_ITEM_ID,
3350       PO_LINE_ID,
3351       ASSIGNMENT_ID,
3352       SYSTEM_LINKAGE_FUNCTION,
3353       RESOURCE_CLASS_CODE,
3354       RECVR_GL_TIME_ID,
3355       GL_PERIOD_NAME,
3356       PRVDR_GL_TIME_ID,
3357       RECVR_PA_TIME_ID,
3358       PA_PERIOD_NAME,
3359       PRVDR_PA_TIME_ID,
3360       EXPENDITURE_ITEM_TIME_ID,
3361       PJ_GL_CALENDAR_ID,
3362       PJ_PA_CALENDAR_ID,
3363       RS_GL_CALENDAR_ID,
3364       RS_PA_CALENDAR_ID,
3365       PRJ_REVENUE,
3366       PRJ_LABOR_REVENUE,
3367       PRJ_REVENUE_WRITEOFF,
3368       PRJ_RAW_COST,
3369       PRJ_BRDN_COST,
3370       PRJ_BILL_RAW_COST,
3371       PRJ_BILL_BRDN_COST,
3372       PRJ_LABOR_RAW_COST,
3373       PRJ_LABOR_BRDN_COST,
3374       PRJ_BILL_LABOR_RAW_COST,
3375       PRJ_BILL_LABOR_BRDN_COST,
3376       POU_REVENUE,
3377       POU_LABOR_REVENUE,
3378       POU_REVENUE_WRITEOFF,
3379       POU_RAW_COST,
3380       POU_BRDN_COST,
3381       POU_BILL_RAW_COST,
3382       POU_BILL_BRDN_COST,
3383       POU_LABOR_RAW_COST,
3384       POU_LABOR_BRDN_COST,
3385       POU_BILL_LABOR_RAW_COST,
3386       POU_BILL_LABOR_BRDN_COST,
3387       EOU_RAW_COST,
3388       EOU_BRDN_COST,
3389       EOU_BILL_RAW_COST,
3390       EOU_BILL_BRDN_COST,
3391       TXN_CURRENCY_CODE,
3392       TXN_REVENUE,
3393       TXN_RAW_COST,
3394       TXN_BRDN_COST,
3395       TXN_BILL_RAW_COST,
3396       TXN_BILL_BRDN_COST,
3397       LABOR_HRS,
3398       BILL_LABOR_HRS,
3399       GG1_REVENUE,
3400       GG1_LABOR_REVENUE,
3401       GG1_REVENUE_WRITEOFF,
3402       GG1_RAW_COST,
3403       GG1_BRDN_COST,
3404       GG1_BILL_RAW_COST,
3405       GG1_BILL_BRDN_COST,
3406       GG1_LABOR_RAW_COST,
3407       GG1_LABOR_BRDN_COST,
3408       GG1_BILL_LABOR_RAW_COST,
3409       GG1_BILL_LABOR_BRDN_COST,
3410       GP1_REVENUE,
3411       GP1_LABOR_REVENUE,
3412       GP1_REVENUE_WRITEOFF,
3413       GP1_RAW_COST,
3414       GP1_BRDN_COST,
3415       GP1_BILL_RAW_COST,
3416       GP1_BILL_BRDN_COST,
3417       GP1_LABOR_RAW_COST,
3418       GP1_LABOR_BRDN_COST,
3419       GP1_BILL_LABOR_RAW_COST,
3420       GP1_BILL_LABOR_BRDN_COST,
3421       GG2_REVENUE,
3422       GG2_LABOR_REVENUE,
3423       GG2_REVENUE_WRITEOFF,
3424       GG2_RAW_COST,
3425       GG2_BRDN_COST,
3426       GG2_BILL_RAW_COST,
3427       GG2_BILL_BRDN_COST,
3428       GG2_LABOR_RAW_COST,
3429       GG2_LABOR_BRDN_COST,
3430       GG2_BILL_LABOR_RAW_COST,
3431       GG2_BILL_LABOR_BRDN_COST,
3432       GP2_REVENUE,
3433       GP2_LABOR_REVENUE,
3434       GP2_REVENUE_WRITEOFF,
3435       GP2_RAW_COST,
3436       GP2_BRDN_COST,
3437       GP2_BILL_RAW_COST,
3438       GP2_BILL_BRDN_COST,
3439       GP2_LABOR_RAW_COST,
3440       GP2_LABOR_BRDN_COST,
3441       GP2_BILL_LABOR_RAW_COST,
3442       GP2_BILL_LABOR_BRDN_COST,
3443       TOTAL_HRS_A,
3444       BILL_HRS_A,
3445       CBS_ELEMENT_ID       /* Added  for CBS Changes */
3446     )
3447     select
3448       tmp1.WORKER_ID,
3449       tmp1.DANGLING_RECVR_GL_RATE_FLAG,
3450       tmp1.DANGLING_RECVR_GL_RATE2_FLAG,
3451       tmp1.DANGLING_RECVR_PA_RATE_FLAG,
3452       tmp1.DANGLING_RECVR_PA_RATE2_FLAG,
3453       tmp1.DANGLING_PRVDR_EN_TIME_FLAG,
3454       tmp1.DANGLING_RECVR_EN_TIME_FLAG,
3455       tmp1.DANGLING_EXP_EN_TIME_FLAG,
3456       tmp1.DANGLING_PRVDR_GL_TIME_FLAG,
3457       tmp1.DANGLING_RECVR_GL_TIME_FLAG,
3458       tmp1.DANGLING_EXP_GL_TIME_FLAG,
3459       tmp1.DANGLING_PRVDR_PA_TIME_FLAG,
3460       tmp1.DANGLING_RECVR_PA_TIME_FLAG,
3461       tmp1.DANGLING_EXP_PA_TIME_FLAG,
3462       null ROW_ID,
3463       decode(l_params_cost_flag,
3464              'N', 'N', tmp1.PJI_PROJECT_RECORD_FLAG) PJI_PROJECT_RECORD_FLAG,
3465       decode(l_params_util_flag,
3466              'N', 'N', tmp1.PJI_RESOURCE_RECORD_FLAG) PJI_RESOURCE_RECORD_FLAG,
3467       'A' RECORD_TYPE,
3468       null CMT_RECORD_TYPE,
3469       tmp1.PROJECT_ID,
3470       tmp1.PROJECT_ORG_ID,
3471       tmp1.PROJECT_ORGANIZATION_ID,
3472       tmp1.PROJECT_TYPE_CLASS,
3473       tmp1.PERSON_ID,
3474       tmp1.EXPENDITURE_ORG_ID,
3475       tmp1.EXPENDITURE_ORGANIZATION_ID,
3476       tmp1.EXP_EVT_TYPE_ID,
3477       tmp1.WORK_TYPE_ID,
3478       tmp1.JOB_ID,
3479       tmp1.TASK_ID,
3480       tmp1.VENDOR_ID,
3481       tmp1.EXPENDITURE_TYPE,
3482       tmp1.EVENT_TYPE,
3483       tmp1.EVENT_TYPE_CLASSIFICATION,
3484       tmp1.EXPENDITURE_CATEGORY,
3485       tmp1.REVENUE_CATEGORY,
3486       tmp1.NON_LABOR_RESOURCE,
3487       tmp1.BOM_LABOR_RESOURCE_ID,
3488       tmp1.BOM_EQUIPMENT_RESOURCE_ID,
3489       tmp1.INVENTORY_ITEM_ID,
3490       tmp1.PO_LINE_ID,
3491       tmp1.ASSIGNMENT_ID,
3492       tmp1.SYSTEM_LINKAGE_FUNCTION,
3493       tmp1.RESOURCE_CLASS_CODE,
3494       tmp1.RECVR_GL_TIME_ID,
3495       tmp1.GL_PERIOD_NAME,
3496       tmp1.PRVDR_GL_TIME_ID,
3497       tmp1.RECVR_PA_TIME_ID,
3498       tmp1.PA_PERIOD_NAME,
3499       tmp1.PRVDR_PA_TIME_ID,
3500       tmp1.EXPENDITURE_ITEM_TIME_ID,
3501       tmp1.PJ_GL_CALENDAR_ID,
3502       tmp1.PJ_PA_CALENDAR_ID,
3503       tmp1.RS_GL_CALENDAR_ID,
3504       tmp1.RS_PA_CALENDAR_ID,
3505       tmp1.PRJ_REVENUE,
3506       tmp1.PRJ_LABOR_REVENUE,
3507       tmp1.PRJ_REVENUE_WRITEOFF,
3508       tmp1.PRJ_RAW_COST,
3509       tmp1.PRJ_BRDN_COST,
3510       tmp1.PRJ_BILL_RAW_COST,
3511       tmp1.PRJ_BILL_BRDN_COST,
3512       tmp1.PRJ_LABOR_RAW_COST,
3513       tmp1.PRJ_LABOR_BRDN_COST,
3514       tmp1.PRJ_BILL_LABOR_RAW_COST,
3515       tmp1.PRJ_BILL_LABOR_BRDN_COST,
3516       tmp1.POU_REVENUE,
3517       tmp1.POU_LABOR_REVENUE,
3518       tmp1.POU_REVENUE_WRITEOFF,
3519       tmp1.POU_RAW_COST,
3520       tmp1.POU_BRDN_COST,
3521       tmp1.POU_BILL_RAW_COST,
3522       tmp1.POU_BILL_BRDN_COST,
3523       tmp1.POU_LABOR_RAW_COST,
3524       tmp1.POU_LABOR_BRDN_COST,
3525       tmp1.POU_BILL_LABOR_RAW_COST,
3526       tmp1.POU_BILL_LABOR_BRDN_COST,
3527       tmp1.EOU_RAW_COST,
3528       tmp1.EOU_BRDN_COST,
3529       tmp1.EOU_BILL_RAW_COST,
3530       tmp1.EOU_BILL_BRDN_COST,
3531       tmp1.TXN_CURRENCY_CODE,
3532       tmp1.TXN_REVENUE,
3533       tmp1.TXN_RAW_COST,
3534       tmp1.TXN_BRDN_COST,
3535       tmp1.TXN_BILL_RAW_COST,
3536       tmp1.TXN_BILL_BRDN_COST,
3537       tmp1.LABOR_HRS,
3538       tmp1.BILL_LABOR_HRS,
3539       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3540              sign(tmp1.WORKER_ID),
3541              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3542                           l_g1_currency_code,
3543                           tmp1.TXN_REVENUE,
3544                           round(tmp1.POU_REVENUE *
3545                                 tmp1.PRJ_GL_RATE1 /
3546                                 PRJ_GL_MAU1) * PRJ_GL_MAU1),
3547                    to_number(null))            GG1_REVENUE,
3548       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3549              sign(tmp1.WORKER_ID),
3550              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3551                    --        l_g1_currency_code,
3552                    --        tmp1.TXN_LABOR_REVENUE,
3553                           round(tmp1.POU_LABOR_REVENUE *
3554                                 tmp1.PRJ_GL_RATE1 /
3555                                 PRJ_GL_MAU1) * PRJ_GL_MAU1
3556                    -- )
3557                    ,
3558                    to_number(null))            GG1_LABOR_REVENUE,
3559       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3560              sign(tmp1.WORKER_ID),
3561              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3562                    --        l_g1_currency_code,
3563                    --        tmp1.TXN_REVENUE_WRITEOFF,
3564                           round(tmp1.POU_REVENUE_WRITEOFF *
3565                                 tmp1.PRJ_GL_RATE1 /
3566                                 PRJ_GL_MAU1) * PRJ_GL_MAU1
3567                    -- )
3568                    ,
3569                    to_number(null))            GG1_REVENUE_WRITEOFF,
3570       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3571              sign(tmp1.WORKER_ID),
3572              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3573                           l_g1_currency_code,
3574                           tmp1.TXN_RAW_COST,
3575                           round(tmp1.POU_RAW_COST *
3576                                 tmp1.PRJ_GL_RATE1 /
3577                                 PRJ_GL_MAU1) * PRJ_GL_MAU1),
3578                    to_number(null))            GG1_RAW_COST,
3579       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3580              sign(tmp1.WORKER_ID),
3581              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3582                           l_g1_currency_code,
3583                           tmp1.TXN_BRDN_COST,
3584                           round(tmp1.POU_BRDN_COST *
3585                                 tmp1.PRJ_GL_RATE1 /
3586                                 PRJ_GL_MAU1) * PRJ_GL_MAU1),
3587                    to_number(null))            GG1_BRDN_COST,
3588       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3589              sign(tmp1.WORKER_ID),
3590              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3591                           l_g1_currency_code,
3592                           tmp1.TXN_BILL_RAW_COST,
3593                           round(tmp1.POU_BILL_RAW_COST *
3594                                 tmp1.PRJ_GL_RATE1 /
3595                                 PRJ_GL_MAU1) * PRJ_GL_MAU1),
3596                    to_number(null))            GG1_BILL_RAW_COST,
3597       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3598              sign(tmp1.WORKER_ID),
3599              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3600                           l_g1_currency_code,
3601                           tmp1.TXN_BILL_BRDN_COST,
3602                           round(tmp1.POU_BILL_BRDN_COST *
3603                                 tmp1.PRJ_GL_RATE1 /
3604                                 PRJ_GL_MAU1) * PRJ_GL_MAU1),
3605                    to_number(null))            GG1_BILL_BRDN_COST,
3606       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3607              sign(tmp1.WORKER_ID),
3608              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3609                    --        l_g1_currency_code,
3610                    --        tmp1.TXN_LABOR_RAW_COST,
3611                           round(tmp1.POU_LABOR_RAW_COST *
3612                                 tmp1.PRJ_GL_RATE1 /
3613                                 PRJ_GL_MAU1) * PRJ_GL_MAU1
3614                    -- )
3615                    ,
3616                    to_number(null))            GG1_LABOR_RAW_COST,
3617       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3618              sign(tmp1.WORKER_ID),
3619              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3620                    --        l_g1_currency_code,
3621                    --        tmp1.TXN_LABOR_BRDN_COST,
3622                           round(tmp1.POU_LABOR_BRDN_COST *
3623                                 tmp1.PRJ_GL_RATE1 /
3624                                 PRJ_GL_MAU1) * PRJ_GL_MAU1
3625                    -- )
3626                    ,
3627                    to_number(null))            GG1_LABOR_BRDN_COST,
3628       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3629              sign(tmp1.WORKER_ID),
3630              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3631                    --        l_g1_currency_code,
3632                    --        tmp1.TXN_BILL_LABOR_RAW_COST,
3633                           round(tmp1.POU_BILL_LABOR_RAW_COST *
3634                                 tmp1.PRJ_GL_RATE1 /
3635                                 PRJ_GL_MAU1) * PRJ_GL_MAU1
3636                    -- )
3637                    ,
3638                    to_number(null))            GG1_BILL_LABOR_RAW_COST,
3639       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3640              sign(tmp1.WORKER_ID),
3641              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3642                    --        l_g1_currency_code,
3643                    --        tmp1.TXN_BILL_LABOR_BRDN_COST,
3644                           round(tmp1.POU_BILL_LABOR_BRDN_COST *
3645                                 tmp1.PRJ_GL_RATE1 /
3646                                 PRJ_GL_MAU1) * PRJ_GL_MAU1
3647                    -- )
3648                    ,
3649                    to_number(null))            GG1_BILL_LABOR_BRDN_COST,
3650       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3651              sign(tmp1.WORKER_ID),
3652              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3653                           l_g1_currency_code,
3654                           tmp1.TXN_REVENUE,
3655                           round(tmp1.POU_REVENUE *
3656                                 tmp1.PRJ_PA_RATE1 /
3657                                 PRJ_PA_MAU1) * PRJ_PA_MAU1),
3658                    to_number(null))            GP1_REVENUE,
3659       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3660              sign(tmp1.WORKER_ID),
3661              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3662                    --        l_g1_currency_code,
3663                    --        tmp1.TXN_LABOR_REVENUE,
3664                           round(tmp1.POU_LABOR_REVENUE *
3665                                 tmp1.PRJ_PA_RATE1 /
3666                                 PRJ_PA_MAU1) * PRJ_PA_MAU1
3667                    -- )
3668                    ,
3669                    to_number(null))            GP1_LABOR_REVENUE,
3670       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3671              sign(tmp1.WORKER_ID),
3672              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3673                    --        l_g1_currency_code,
3674                    --        tmp1.TXN_REVENUE_WRITEOFF,
3675                           round(tmp1.POU_REVENUE_WRITEOFF *
3676                                 tmp1.PRJ_PA_RATE1 /
3677                                 PRJ_PA_MAU1) * PRJ_PA_MAU1
3678                    -- )
3679                    ,
3680                    to_number(null))            GP1_REVENUE_WRITEOFF,
3681       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3682              sign(tmp1.WORKER_ID),
3683              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3684                           l_g1_currency_code,
3685                           tmp1.TXN_RAW_COST,
3686                           round(tmp1.POU_RAW_COST *
3687                                 tmp1.PRJ_PA_RATE1 /
3688                                 PRJ_PA_MAU1) * PRJ_PA_MAU1),
3689                    to_number(null))            GP1_RAW_COST,
3690       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3691              sign(tmp1.WORKER_ID),
3692              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3693                           l_g1_currency_code,
3694                           tmp1.TXN_BRDN_COST,
3695                           round(tmp1.POU_BRDN_COST *
3696                                 tmp1.PRJ_PA_RATE1 /
3697                                 PRJ_PA_MAU1) * PRJ_PA_MAU1),
3698                    to_number(null))            GP1_BRDN_COST,
3699       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3700              sign(tmp1.WORKER_ID),
3701              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3702                           l_g1_currency_code,
3703                           tmp1.TXN_BILL_RAW_COST,
3704                           round(tmp1.POU_BILL_RAW_COST *
3705                                 tmp1.PRJ_PA_RATE1 /
3706                                 PRJ_PA_MAU1) * PRJ_PA_MAU1),
3707                    to_number(null))            GP1_BILL_RAW_COST,
3708       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3709              sign(tmp1.WORKER_ID),
3710              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3711                           l_g1_currency_code,
3712                           tmp1.TXN_BILL_BRDN_COST,
3713                           round(tmp1.POU_BILL_BRDN_COST *
3714                                 tmp1.PRJ_PA_RATE1 /
3715                                 PRJ_PA_MAU1) * PRJ_PA_MAU1),
3716                    to_number(null))            GP1_BILL_BRDN_COST,
3717       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3718              sign(tmp1.WORKER_ID),
3719              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3720                    --        l_g1_currency_code,
3721                    --        tmp1.TXN_LABOR_RAW_COST,
3722                           round(tmp1.POU_LABOR_RAW_COST *
3723                                 tmp1.PRJ_PA_RATE1 /
3724                                 PRJ_PA_MAU1) * PRJ_PA_MAU1
3725                    -- )
3726                    ,
3727                    to_number(null))            GP1_LABOR_RAW_COST,
3728       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3729              sign(tmp1.WORKER_ID),
3730              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3731                    --        l_g1_currency_code,
3732                    --        tmp1.TXN_LABOR_BRDN_COST,
3733                           round(tmp1.POU_LABOR_BRDN_COST *
3734                                 tmp1.PRJ_PA_RATE1 /
3735                                 PRJ_PA_MAU1) * PRJ_PA_MAU1
3736                    -- )
3737                    ,
3738                    to_number(null))            GP1_LABOR_BRDN_COST,
3739       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3740              sign(tmp1.WORKER_ID),
3741              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3742                    --        l_g1_currency_code,
3743                    --        tmp1.TXN_BILL_LABOR_RAW_COST,
3744                           round(tmp1.POU_BILL_LABOR_RAW_COST *
3745                                 tmp1.PRJ_PA_RATE1 /
3746                                 PRJ_PA_MAU1) * PRJ_PA_MAU1
3747                    -- )
3748                    ,
3749                    to_number(null))            GP1_BILL_LABOR_RAW_COST,
3750       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3751              sign(tmp1.WORKER_ID),
3752              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3753                    --        l_g1_currency_code,
3754                    --        tmp1.TXN_BILL_LABOR_BRDN_COST,
3755                           round(tmp1.POU_BILL_LABOR_BRDN_COST *
3756                                 tmp1.PRJ_PA_RATE1 /
3757                                 PRJ_PA_MAU1) * PRJ_PA_MAU1
3758                    -- )
3759                    ,
3760                    to_number(null))            GP1_BILL_LABOR_BRDN_COST,
3761       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3762              sign(tmp1.WORKER_ID),
3763              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3764                           l_g2_currency_code,
3765                           tmp1.TXN_REVENUE,
3766                           round(tmp1.POU_REVENUE *
3767                                 tmp1.PRJ_GL_RATE2 /
3768                                 PRJ_GL_MAU2) * PRJ_GL_MAU2),
3769                    to_number(null))            GG2_REVENUE,
3770       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3771              sign(tmp1.WORKER_ID),
3772              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3773                    --        l_g2_currency_code,
3774                    --        tmp1.TXN_LABOR_REVENUE,
3775                           round(tmp1.POU_LABOR_REVENUE *
3776                                 tmp1.PRJ_GL_RATE2 /
3777                                 PRJ_GL_MAU2) * PRJ_GL_MAU2
3778                    -- )
3779                    ,
3780                    to_number(null))            GG2_LABOR_REVENUE,
3781       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3782              sign(tmp1.WORKER_ID),
3783              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3784                    --        l_g2_currency_code,
3785                    --        tmp1.TXN_REVENUE_WRITEOFF,
3786                           round(tmp1.POU_REVENUE_WRITEOFF *
3787                                 tmp1.PRJ_GL_RATE2 /
3788                                 PRJ_GL_MAU2) * PRJ_GL_MAU2
3789                    -- )
3790                    ,
3791                    to_number(null))            GG2_REVENUE_WRITEOFF,
3792       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3793              sign(tmp1.WORKER_ID),
3794              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3795                           l_g2_currency_code,
3796                           tmp1.TXN_RAW_COST,
3797                           round(tmp1.POU_RAW_COST *
3798                                 tmp1.PRJ_GL_RATE2 /
3799                                 PRJ_GL_MAU2) * PRJ_GL_MAU2),
3800                    to_number(null))            GG2_RAW_COST,
3801       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3802              sign(tmp1.WORKER_ID),
3803              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3804                           l_g2_currency_code,
3805                           tmp1.TXN_BRDN_COST,
3806                           round(tmp1.POU_BRDN_COST *
3807                                 tmp1.PRJ_GL_RATE2 /
3808                                 PRJ_GL_MAU2) * PRJ_GL_MAU2),
3809                    to_number(null))            GG2_BRDN_COST,
3810       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3811              sign(tmp1.WORKER_ID),
3812              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3813                           l_g2_currency_code,
3814                           tmp1.TXN_BILL_RAW_COST,
3815                           round(tmp1.POU_BILL_RAW_COST *
3816                                 tmp1.PRJ_GL_RATE2 /
3817                                 PRJ_GL_MAU2) * PRJ_GL_MAU2),
3818                    to_number(null))            GG2_BILL_RAW_COST,
3819       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3820              sign(tmp1.WORKER_ID),
3821              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3822                           l_g2_currency_code,
3823                           tmp1.TXN_BILL_BRDN_COST,
3824                           round(tmp1.POU_BILL_BRDN_COST *
3825                                 tmp1.PRJ_GL_RATE2 /
3826                                 PRJ_GL_MAU2) * PRJ_GL_MAU2),
3827                    to_number(null))            GG2_BILL_BRDN_COST,
3828       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3829              sign(tmp1.WORKER_ID),
3830              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3831                    --        l_g2_currency_code,
3832                    --        tmp1.TXN_LABOR_RAW_COST,
3833                           round(tmp1.POU_LABOR_RAW_COST *
3834                                 tmp1.PRJ_GL_RATE2 /
3835                                 PRJ_GL_MAU2) * PRJ_GL_MAU2
3836                    -- )
3837                    ,
3838                    to_number(null))            GG2_LABOR_RAW_COST,
3839       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3840              sign(tmp1.WORKER_ID),
3841              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3842                    --        l_g2_currency_code,
3843                    --        tmp1.TXN_LABOR_BRDN_COST,
3844                           round(tmp1.POU_LABOR_BRDN_COST *
3845                                 tmp1.PRJ_GL_RATE2 /
3846                                 PRJ_GL_MAU2) * PRJ_GL_MAU2
3847                    -- )
3848                    ,
3849                    to_number(null))            GG2_LABOR_BRDN_COST,
3850       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3851              sign(tmp1.WORKER_ID),
3852              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3853                    --        l_g2_currency_code,
3854                    --        tmp1.TXN_BILL_LABOR_RAW_COST,
3855                           round(tmp1.POU_BILL_LABOR_RAW_COST *
3856                                 tmp1.PRJ_GL_RATE2 /
3857                                 PRJ_GL_MAU2) * PRJ_GL_MAU2
3858                    -- )
3859                    ,
3860                    to_number(null))            GG2_BILL_LABOR_RAW_COST,
3861       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3862              sign(tmp1.WORKER_ID),
3863              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3864                    --        l_g2_currency_code,
3865                    --        tmp1.TXN_BILL_LABOR_BRDN_COST,
3866                           round(tmp1.POU_BILL_LABOR_BRDN_COST *
3867                                 tmp1.PRJ_GL_RATE2 /
3868                                 PRJ_GL_MAU2) * PRJ_GL_MAU2
3869                    -- )
3870                    ,
3871                    to_number(null))            GG2_BILL_LABOR_BRDN_COST,
3872       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3873              sign(tmp1.WORKER_ID),
3874              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3875                           l_g2_currency_code,
3876                           tmp1.TXN_REVENUE,
3877                           round(tmp1.POU_REVENUE *
3878                                 tmp1.PRJ_PA_RATE2 /
3879                                 PRJ_PA_MAU2) * PRJ_PA_MAU2),
3880                    to_number(null))            GP2_REVENUE,
3881       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3882              sign(tmp1.WORKER_ID),
3883              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3884                    --        l_g2_currency_code,
3885                    --        tmp1.TXN_LABOR_REVENUE,
3886                           round(tmp1.POU_LABOR_REVENUE *
3887                                 tmp1.PRJ_PA_RATE2 /
3888                                 PRJ_PA_MAU2) * PRJ_PA_MAU2
3889                    -- )
3890                    ,
3891                    to_number(null))            GP2_LABOR_REVENUE,
3892       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3893              sign(tmp1.WORKER_ID),
3894              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3895                    --        l_g2_currency_code,
3896                    --        tmp1.TXN_REVENUE_WRITEOFF,
3897                           round(tmp1.POU_REVENUE_WRITEOFF *
3898                                 tmp1.PRJ_PA_RATE2 /
3899                                 PRJ_PA_MAU2) * PRJ_PA_MAU2
3900                    -- )
3901                    ,
3902                    to_number(null))            GP2_REVENUE_WRITEOFF,
3903       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3904              sign(tmp1.WORKER_ID),
3905              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3906                           l_g2_currency_code,
3907                           tmp1.TXN_RAW_COST,
3908                           round(tmp1.POU_RAW_COST *
3909                                 tmp1.PRJ_PA_RATE2 /
3910                                 PRJ_PA_MAU2) * PRJ_PA_MAU2),
3911                    to_number(null))            GP2_RAW_COST,
3912       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3913              sign(tmp1.WORKER_ID),
3914              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3915                           l_g2_currency_code,
3916                           tmp1.TXN_BRDN_COST,
3917                           round(tmp1.POU_BRDN_COST *
3918                                 tmp1.PRJ_PA_RATE2 /
3919                                 PRJ_PA_MAU2) * PRJ_PA_MAU2),
3920                    to_number(null))            GP2_BRDN_COST,
3921       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3922              sign(tmp1.WORKER_ID),
3923              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3924                           l_g2_currency_code,
3925                           tmp1.TXN_BILL_RAW_COST,
3926                           round(tmp1.POU_BILL_RAW_COST *
3927                                 tmp1.PRJ_PA_RATE2 /
3928                                 PRJ_PA_MAU2) * PRJ_PA_MAU2),
3929                    to_number(null))            GP2_BILL_RAW_COST,
3930       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3931              sign(tmp1.WORKER_ID),
3932              'Y1', decode(tmp1.TXN_CURRENCY_CODE,
3933                           l_g2_currency_code,
3934                           tmp1.TXN_BILL_BRDN_COST,
3935                           round(tmp1.POU_BILL_BRDN_COST *
3936                                 tmp1.PRJ_PA_RATE2 /
3937                                 PRJ_PA_MAU2) * PRJ_PA_MAU2),
3938                    to_number(null))            GP2_BILL_BRDN_COST,
3939       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3940              sign(tmp1.WORKER_ID),
3941              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3942                    --        l_g2_currency_code,
3943                    --        tmp1.TXN_LABOR_RAW_COST,
3944                           round(tmp1.POU_LABOR_RAW_COST *
3945                                 tmp1.PRJ_PA_RATE2 /
3946                                 PRJ_PA_MAU2) * PRJ_PA_MAU2
3947                    -- )
3948                    ,
3949                    to_number(null))            GP2_LABOR_RAW_COST,
3950       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3951              sign(tmp1.WORKER_ID),
3952              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3953                    --        l_g2_currency_code,
3954                    --        tmp1.TXN_LABOR_BRDN_COST,
3955                           round(tmp1.POU_LABOR_BRDN_COST *
3956                                 tmp1.PRJ_PA_RATE2 /
3957                                 PRJ_PA_MAU2) * PRJ_PA_MAU2
3958                    -- )
3959                    ,
3960                    to_number(null))            GP2_LABOR_BRDN_COST,
3961       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3962              sign(tmp1.WORKER_ID),
3963              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3964                    --        l_g2_currency_code,
3965                    --        tmp1.TXN_BILL_LABOR_RAW_COST,
3966                           round(tmp1.POU_BILL_LABOR_RAW_COST *
3967                                 tmp1.PRJ_PA_RATE2 /
3968                                 PRJ_PA_MAU2) * PRJ_PA_MAU2
3969                    -- )
3970                    ,
3971                    to_number(null))            GP2_BILL_LABOR_RAW_COST,
3972       decode(nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N') ||
3973              sign(tmp1.WORKER_ID),
3974              'Y1', -- decode(tmp1.TXN_CURRENCY_CODE,
3975                    --        l_g2_currency_code,
3976                    --        tmp1.TXN_BILL_LABOR_BRDN_COST,
3977                           round(tmp1.POU_BILL_LABOR_BRDN_COST *
3978                                 tmp1.PRJ_PA_RATE2 /
3979                                 PRJ_PA_MAU2) * PRJ_PA_MAU2
3980                    -- )
3981                    ,
3982                    to_number(null))            GP2_BILL_LABOR_BRDN_COST,
3983       tmp1.TOTAL_HRS_A,
3984       tmp1.BILL_HRS_A,
3985       tmp1.CBS_ELEMENT_ID     /* Added  for CBS Changes */
3986     from
3987     (
3988     select /*+ ordered use_hash(tmp1,prj_info,res_info,prj_gl_rt,prj_pa_rt) full(tmp1) parallel(tmp1)
3989                full(prj_info)  swap_join_inputs(prj_info) full(res_info)  swap_join_inputs(res_info)
3990                full(prj_gl_rt) swap_join_inputs(prj_gl_rt) full(prj_pa_rt) swap_join_inputs(prj_pa_rt)
3991                pq_distribute(prj_gl_rt,none,broadcast) pq_distribute(prj_pa_rt,none,broadcast)
3992             */  -- bug 3092751: Changes in hints
3993       to_number(p_worker_id)                   WORKER_ID,
3994       decode(tmp1.PJI_PROJECT_RECORD_FLAG,
3995              'Y', decode(prj_gl_rt.RATE,
3996                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
3997                          decode(sign(prj_gl_rt.RATE),
3998                                 -1, 'Y', null)),
3999              null)                             DANGLING_RECVR_GL_RATE_FLAG,
4000       decode(tmp1.PJI_PROJECT_RECORD_FLAG || l_g2_currency_flag,
4001              'YY', decode(prj_gl_rt.RATE2,
4002                           -3, 'E', -- EUR rate for 01-JAN-1999 is missing
4003                           decode(sign(prj_gl_rt.RATE2),
4004                                  -1, 'Y', null)),
4005              null)                             DANGLING_RECVR_GL_RATE2_FLAG,
4006       decode(tmp1.PJI_PROJECT_RECORD_FLAG,
4007              'Y', decode(prj_pa_rt.RATE,
4008                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
4009                          decode(sign(prj_pa_rt.RATE),
4010                                 -1, 'Y', null)),
4011              null)                             DANGLING_RECVR_PA_RATE_FLAG,
4012       decode(tmp1.PJI_PROJECT_RECORD_FLAG || l_g2_currency_flag,
4013              'YY', decode(prj_pa_rt.RATE2,
4014                           -3, 'E', -- EUR rate for 01-JAN-1999 is missing
4015                           decode(sign(prj_pa_rt.RATE2),
4016                                  -1, 'Y', null)),
4017              null)                             DANGLING_RECVR_PA_RATE2_FLAG,
4018       --case when tmp1.PJI_RESOURCE_RECORD_FLAG = 'Y' and
4019       --          (tmp1.PRVDR_GL_TIME_ID < res_info.EN_CALENDAR_MIN_DATE or
4020       --           tmp1.PRVDR_GL_TIME_ID > res_info.EN_CALENDAR_MAX_DATE)
4021       --     then 'Y'
4022       --     else null
4023       --     end                                 DANGLING_PRVDR_EN_TIME_FLAG,
4024       null                                     DANGLING_PRVDR_EN_TIME_FLAG,
4025       decode(tmp1.PJI_PROJECT_RECORD_FLAG,
4026              'Y', decode(sign(prj_info.EN_CALENDAR_MIN_DATE -
4027                               tmp1.RECVR_GL_TIME_ID) +
4028                          sign(tmp1.RECVR_GL_TIME_ID -
4029                               prj_info.EN_CALENDAR_MAX_DATE),
4030                          0, 'Y', null), null)  DANGLING_RECVR_EN_TIME_FLAG,
4031       decode(tmp1.PJI_RESOURCE_RECORD_FLAG,
4032              'Y', decode(sign(res_info.EN_CALENDAR_MIN_DATE -
4033                               tmp1.EXPENDITURE_ITEM_TIME_ID) +
4034                          sign(tmp1.EXPENDITURE_ITEM_TIME_ID -
4035                               res_info.EN_CALENDAR_MAX_DATE),
4036                          0, 'Y', null), null)  DANGLING_EXP_EN_TIME_FLAG,
4037       --case when tmp1.PJI_RESOURCE_RECORD_FLAG = 'Y' and
4038       --          (tmp1.PRVDR_GL_TIME_ID < res_info.GL_CALENDAR_MIN_DATE or
4039       --           tmp1.PRVDR_GL_TIME_ID > res_info.GL_CALENDAR_MAX_DATE)
4040       --     then 'Y'
4041       --     else null
4042       --     end                                 DANGLING_PRVDR_GL_TIME_FLAG,
4043       null                                     DANGLING_PRVDR_GL_TIME_FLAG,
4044       decode(tmp1.PJI_PROJECT_RECORD_FLAG,
4045              'Y', decode(sign(prj_info.GL_CALENDAR_MIN_DATE -
4046                               tmp1.RECVR_GL_TIME_ID) +
4047                          sign(tmp1.RECVR_GL_TIME_ID -
4048                               prj_info.GL_CALENDAR_MAX_DATE),
4049                          0, 'Y', null), null)  DANGLING_RECVR_GL_TIME_FLAG,
4050       decode(tmp1.PJI_RESOURCE_RECORD_FLAG,
4051              'Y', decode(sign(res_info.GL_CALENDAR_MIN_DATE -
4052                               tmp1.EXPENDITURE_ITEM_TIME_ID) +
4053                          sign(tmp1.EXPENDITURE_ITEM_TIME_ID -
4054                               res_info.GL_CALENDAR_MAX_DATE),
4055                          0, 'Y', null), null)  DANGLING_EXP_GL_TIME_FLAG,
4056       --case when tmp1.PJI_RESOURCE_RECORD_FLAG = 'Y' and
4057       --          (tmp1.PRVDR_PA_TIME_ID < res_info.PA_CALENDAR_MIN_DATE or
4058       --           tmp1.PRVDR_PA_TIME_ID > res_info.PA_CALENDAR_MAX_DATE)
4059       --     then 'Y'
4060       --     else null
4061       --     end                                 DANGLING_PRVDR_PA_TIME_FLAG,
4062       null                                     DANGLING_PRVDR_PA_TIME_FLAG,
4063       decode(tmp1.PJI_PROJECT_RECORD_FLAG,
4064              'Y', decode(sign(prj_info.PA_CALENDAR_MIN_DATE -
4065                               tmp1.RECVR_PA_TIME_ID) +
4066                          sign(tmp1.RECVR_PA_TIME_ID -
4067                               prj_info.PA_CALENDAR_MAX_DATE),
4068                          0, 'Y', null), null)  DANGLING_RECVR_PA_TIME_FLAG,
4069       decode(tmp1.PJI_RESOURCE_RECORD_FLAG,
4070              'Y', decode(sign(res_info.PA_CALENDAR_MIN_DATE -
4071                               tmp1.EXPENDITURE_ITEM_TIME_ID) +
4072                          sign(tmp1.EXPENDITURE_ITEM_TIME_ID -
4073                               res_info.PA_CALENDAR_MAX_DATE),
4074                          0, 'Y', null), null)  DANGLING_EXP_PA_TIME_FLAG,
4075       tmp1.PJI_PROJECT_RECORD_FLAG,
4076       tmp1.PJI_RESOURCE_RECORD_FLAG,
4077       tmp1.PROJECT_ID,
4078       tmp1.PROJECT_ORG_ID,
4079       tmp1.PROJECT_ORGANIZATION_ID,
4080       tmp1.PROJECT_TYPE_CLASS,
4081       tmp1.PERSON_ID,
4082       tmp1.EXPENDITURE_ORG_ID,
4083       tmp1.EXPENDITURE_ORGANIZATION_ID,
4084       tmp1.EXP_EVT_TYPE_ID,
4085       tmp1.WORK_TYPE_ID,
4086       tmp1.JOB_ID,
4087       tmp1.TASK_ID,
4088       tmp1.VENDOR_ID,
4089       tmp1.EXPENDITURE_TYPE,
4090       tmp1.EVENT_TYPE,
4091       tmp1.EVENT_TYPE_CLASSIFICATION,
4092       tmp1.EXPENDITURE_CATEGORY,
4093       tmp1.REVENUE_CATEGORY,
4094       tmp1.NON_LABOR_RESOURCE,
4095       tmp1.BOM_LABOR_RESOURCE_ID,
4096       tmp1.BOM_EQUIPMENT_RESOURCE_ID,
4097       tmp1.INVENTORY_ITEM_ID,
4098       tmp1.PO_LINE_ID,
4099       tmp1.ASSIGNMENT_ID,
4100       tmp1.SYSTEM_LINKAGE_FUNCTION,
4101       'PJI$NULL'                               RESOURCE_CLASS_CODE,
4102       tmp1.RECVR_GL_TIME_ID,
4103       tmp1.GL_PERIOD_NAME,
4104       tmp1.PRVDR_GL_TIME_ID,
4105       tmp1.RECVR_PA_TIME_ID,
4106       tmp1.PA_PERIOD_NAME,
4107       tmp1.PRVDR_PA_TIME_ID,
4108       tmp1.EXPENDITURE_ITEM_TIME_ID,
4109       prj_info.GL_CALENDAR_ID                  PJ_GL_CALENDAR_ID,
4110       prj_info.PA_CALENDAR_ID                  PJ_PA_CALENDAR_ID,
4111       res_info.GL_CALENDAR_ID                  RS_GL_CALENDAR_ID,
4112       res_info.PA_CALENDAR_ID                  RS_PA_CALENDAR_ID,
4113       prj_gl_rt.RATE                           PRJ_GL_RATE1,
4114       prj_gl_rt.RATE2                          PRJ_GL_RATE2,
4115       prj_pa_rt.RATE                           PRJ_PA_RATE1,
4116       prj_pa_rt.RATE2                          PRJ_PA_RATE2,
4117       prj_gl_rt.MAU                            PRJ_GL_MAU1,
4118       prj_gl_rt.MAU2                           PRJ_GL_MAU2,
4119       prj_pa_rt.MAU                            PRJ_PA_MAU1,
4120       prj_pa_rt.MAU2                           PRJ_PA_MAU2,
4121       tmp1.PRJ_REVENUE,
4122       tmp1.PRJ_LABOR_REVENUE,
4123       tmp1.PRJ_REVENUE_WRITEOFF,
4124       tmp1.PRJ_RAW_COST,
4125       tmp1.PRJ_BRDN_COST,
4126       tmp1.PRJ_BILL_RAW_COST,
4127       tmp1.PRJ_BILL_BRDN_COST,
4128       tmp1.PRJ_LABOR_RAW_COST,
4129       tmp1.PRJ_LABOR_BRDN_COST,
4130       tmp1.PRJ_BILL_LABOR_RAW_COST,
4131       tmp1.PRJ_BILL_LABOR_BRDN_COST,
4132       tmp1.POU_REVENUE,
4133       tmp1.POU_LABOR_REVENUE,
4134       tmp1.POU_REVENUE_WRITEOFF,
4135       tmp1.POU_RAW_COST,
4136       tmp1.POU_BRDN_COST,
4137       tmp1.POU_BILL_RAW_COST,
4138       tmp1.POU_BILL_BRDN_COST,
4139       tmp1.POU_LABOR_RAW_COST,
4140       tmp1.POU_LABOR_BRDN_COST,
4141       tmp1.POU_BILL_LABOR_RAW_COST,
4142       tmp1.POU_BILL_LABOR_BRDN_COST,
4143       tmp1.EOU_RAW_COST,
4144       tmp1.EOU_BRDN_COST,
4145       tmp1.EOU_BILL_RAW_COST,
4146       tmp1.EOU_BILL_BRDN_COST,
4147       tmp1.TXN_CURRENCY_CODE,
4148       tmp1.TXN_REVENUE,
4149       tmp1.TXN_RAW_COST,
4150       tmp1.TXN_BRDN_COST,
4151       tmp1.TXN_BILL_RAW_COST,
4152       tmp1.TXN_BILL_BRDN_COST,
4153       tmp1.LABOR_HRS,
4154       tmp1.BILL_LABOR_HRS,
4155       tmp1.TOTAL_HRS_A,
4156       tmp1.BILL_HRS_A,
4157       tmp1.CBS_ELEMENT_ID    /* Added  for CBS Changes */
4158     from  -- bug 3092751: Changes in table order
4159       PJI_ORG_EXTR_INFO     prj_info,
4160     (
4161     select /*+ parallel(tmp1) */
4162       decode(l_params_cost_flag,
4163              'N', 'N',
4164              tmp1.PJI_PROJECT_RECORD_FLAG) PJI_PROJECT_RECORD_FLAG,
4165       tmp1.PJI_RESOURCE_RECORD_FLAG,
4166       tmp1.PROJECT_ID,
4167       tmp1.PROJECT_ORG_ID,
4168       tmp1.PROJECT_ORGANIZATION_ID,
4169       tmp1.PROJECT_TYPE_CLASS,
4170       tmp1.PERSON_ID,
4171       tmp1.EXPENDITURE_ORG_ID,
4172       tmp1.EXPENDITURE_ORGANIZATION_ID,
4173       tmp1.EXP_EVT_TYPE_ID,
4174       tmp1.WORK_TYPE_ID,
4175       tmp1.JOB_ID,
4176       tmp1.TASK_ID,
4177       tmp1.VENDOR_ID,
4178       tmp1.EXPENDITURE_TYPE,
4179       tmp1.EVENT_TYPE,
4180       tmp1.EVENT_TYPE_CLASSIFICATION,
4181       tmp1.EXPENDITURE_CATEGORY,
4182       tmp1.REVENUE_CATEGORY,
4183       tmp1.NON_LABOR_RESOURCE,
4184       tmp1.BOM_LABOR_RESOURCE_ID,
4185       tmp1.BOM_EQUIPMENT_RESOURCE_ID,
4186       tmp1.INVENTORY_ITEM_ID,
4187       tmp1.PO_LINE_ID,
4188       tmp1.ASSIGNMENT_ID,
4189       tmp1.SYSTEM_LINKAGE_FUNCTION,
4190       decode(l_params_cost_flag || nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N'),
4191              'YY', to_number(to_char(tmp1.RECVR_GL_DATE, 'J')),
4192              -1)                               RECVR_GL_TIME_ID,
4193       tmp1.GL_PERIOD_NAME,
4194       to_number(to_char(tmp1.PRVDR_GL_DATE,
4195                         'J'))                  PRVDR_GL_TIME_ID,
4196       decode(l_params_cost_flag || nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N'),
4197              'YY', to_number(to_char(tmp1.RECVR_PA_DATE, 'J')),
4198              -1)                               RECVR_PA_TIME_ID,
4199       tmp1.PA_PERIOD_NAME,
4200       to_number(to_char(tmp1.PRVDR_PA_DATE,
4201                         'J'))                  PRVDR_PA_TIME_ID,
4202       to_number(to_char(tmp1.EXPENDITURE_ITEM_DATE,
4203                         'J'))                  EXPENDITURE_ITEM_TIME_ID,
4204       sum(tmp1.PRJ_REVENUE)                    PRJ_REVENUE,
4205       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4206                  'ST', tmp1.PRJ_REVENUE,
4207                  'OT', tmp1.PRJ_REVENUE, 0))   PRJ_LABOR_REVENUE,
4208       sum(decode(tmp1.EVENT_TYPE_CLASSIFICATION,
4209                  'WRITE OFF',
4210                  tmp1.PRJ_REVENUE, 0))         PRJ_REVENUE_WRITEOFF,
4211       sum(tmp1.PRJ_RAW_COST)                   PRJ_RAW_COST,
4212       sum(tmp1.PRJ_BURDENED_COST)              PRJ_BRDN_COST,
4213       sum(tmp1.PRJ_BILL_RAW_COST)              PRJ_BILL_RAW_COST,
4214       sum(tmp1.PRJ_BILL_BURDENED_COST)         PRJ_BILL_BRDN_COST,
4215       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4216                  'ST', tmp1.PRJ_RAW_COST,
4217                  'OT', tmp1.PRJ_RAW_COST, 0))  PRJ_LABOR_RAW_COST,
4218       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4219                  'ST', tmp1.PRJ_BURDENED_COST,
4220                  'OT', tmp1.PRJ_BURDENED_COST,
4221                  0))                           PRJ_LABOR_BRDN_COST,
4222       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4223                  'ST', tmp1.PRJ_BILL_RAW_COST,
4224                  'OT', tmp1.PRJ_BILL_RAW_COST,
4225                  0))                           PRJ_BILL_LABOR_RAW_COST,
4226       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4227                  'ST', tmp1.PRJ_BILL_BURDENED_COST,
4228                  'OT', tmp1.PRJ_BILL_BURDENED_COST,
4229                  0))                           PRJ_BILL_LABOR_BRDN_COST,
4230       sum(tmp1.POU_REVENUE)                    POU_REVENUE,
4231       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4232                  'ST', tmp1.POU_REVENUE,
4233                  'OT', tmp1.POU_REVENUE, 0))   POU_LABOR_REVENUE,
4234       sum(decode(tmp1.EVENT_TYPE_CLASSIFICATION,
4235                  'WRITE OFF',
4236                  tmp1.POU_REVENUE, 0))         POU_REVENUE_WRITEOFF,
4237       sum(tmp1.POU_RAW_COST)                   POU_RAW_COST,
4238       sum(tmp1.POU_BURDENED_COST)              POU_BRDN_COST,
4239       sum(tmp1.POU_BILL_RAW_COST)              POU_BILL_RAW_COST,
4240       sum(tmp1.POU_BILL_BURDENED_COST)         POU_BILL_BRDN_COST,
4241       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4242                  'ST', tmp1.POU_RAW_COST,
4243                  'OT', tmp1.POU_RAW_COST,
4244                  0))                           POU_LABOR_RAW_COST,
4245       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4246                  'ST', tmp1.POU_BURDENED_COST,
4247                  'OT', tmp1.POU_BURDENED_COST,
4248                  0))                           POU_LABOR_BRDN_COST,
4249       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4250                  'ST', tmp1.POU_BILL_RAW_COST,
4251                  'OT', tmp1.POU_BILL_RAW_COST,
4252                  0))                           POU_BILL_LABOR_RAW_COST,
4253       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4254                  'ST', tmp1.POU_BILL_BURDENED_COST,
4255                  'OT', tmp1.POU_BILL_BURDENED_COST,
4256                  0))                           POU_BILL_LABOR_BRDN_COST,
4257       sum(tmp1.EOU_RAW_COST)                   EOU_RAW_COST,
4258       sum(tmp1.EOU_BURDENED_COST)              EOU_BRDN_COST,
4259       sum(tmp1.EOU_BILL_RAW_COST)              EOU_BILL_RAW_COST,
4260       sum(tmp1.EOU_BILL_BURDENED_COST)         EOU_BILL_BRDN_COST,
4261       tmp1.TXN_CURRENCY_CODE,
4262       sum(tmp1.TXN_REVENUE)                    TXN_REVENUE,
4263       sum(tmp1.TXN_RAW_COST)                   TXN_RAW_COST,
4264       sum(tmp1.TXN_BURDENED_COST)              TXN_BRDN_COST,
4265       sum(tmp1.TXN_BILL_RAW_COST)              TXN_BILL_RAW_COST,
4266       sum(tmp1.TXN_BILL_BURDENED_COST)         TXN_BILL_BRDN_COST,
4267       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4268                  'ST', tmp1.QUANTITY,
4269                  'OT', tmp1.QUANTITY, 0))      LABOR_HRS,
4270       sum(decode(tmp1.SYSTEM_LINKAGE_FUNCTION,
4271                  'ST', tmp1.BILL_QUANTITY,
4272                  'OT', tmp1.BILL_QUANTITY, 0)) BILL_LABOR_HRS,
4273       sum(tmp1.QUANTITY)                       TOTAL_HRS_A,
4274       sum(tmp1.BILL_QUANTITY)                  BILL_HRS_A,
4275       tmp1.CBS_ELEMENT_ID                           CBS_ELEMENT_ID  /* Added  for CBS Changes */
4276     from
4277       PJI_FM_AGGR_FIN1  tmp1
4278     where
4279       tmp1.WORKER_ID = p_worker_id and
4280       tmp1.EXPENDITURE_ORGANIZATION_ID is not null
4281     group by
4282       decode(l_params_cost_flag,
4283              'N', 'N',
4284              tmp1.PJI_PROJECT_RECORD_FLAG),
4285       tmp1.PJI_RESOURCE_RECORD_FLAG,
4286       tmp1.PROJECT_ID,
4287       tmp1.PROJECT_ORG_ID,
4288       tmp1.PROJECT_ORGANIZATION_ID,
4289       tmp1.PROJECT_TYPE_CLASS,
4290       tmp1.PERSON_ID,
4291       tmp1.EXPENDITURE_ORG_ID,
4292       tmp1.EXPENDITURE_ORGANIZATION_ID,
4293       tmp1.EXP_EVT_TYPE_ID,
4294       tmp1.WORK_TYPE_ID,
4295       tmp1.JOB_ID,
4296       tmp1.TASK_ID,
4297       tmp1.VENDOR_ID,
4298       tmp1.EXPENDITURE_TYPE,
4299       tmp1.EVENT_TYPE,
4300       tmp1.EVENT_TYPE_CLASSIFICATION,
4301       tmp1.EXPENDITURE_CATEGORY,
4302       tmp1.REVENUE_CATEGORY,
4303       tmp1.NON_LABOR_RESOURCE,
4304       tmp1.BOM_LABOR_RESOURCE_ID,
4305       tmp1.BOM_EQUIPMENT_RESOURCE_ID,
4306       tmp1.INVENTORY_ITEM_ID,
4307       tmp1.PO_LINE_ID,
4308       tmp1.ASSIGNMENT_ID,
4309       tmp1.SYSTEM_LINKAGE_FUNCTION,
4310       decode(l_params_cost_flag || nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N'),
4311              'YY', to_number(to_char(tmp1.RECVR_GL_DATE, 'J')),
4312              -1),
4313       tmp1.GL_PERIOD_NAME,
4314       to_number(to_char(tmp1.PRVDR_GL_DATE,
4315                         'J')),
4316       decode(l_params_cost_flag || nvl(tmp1.PJI_PROJECT_RECORD_FLAG, 'N'),
4317              'YY', to_number(to_char(tmp1.RECVR_PA_DATE, 'J')),
4318              -1),
4319       tmp1.PA_PERIOD_NAME,
4320       to_number(to_char(tmp1.PRVDR_PA_DATE,
4321                         'J')),
4322       to_number(to_char(tmp1.EXPENDITURE_ITEM_DATE,
4323                         'J')),
4324       tmp1.TXN_CURRENCY_CODE,
4325       tmp1.CBS_ELEMENT_ID  /* Added  for CBS Changes */
4326     ) tmp1,
4327       PJI_ORG_EXTR_INFO     res_info,
4328       PJI_FM_AGGR_DLY_RATES prj_gl_rt,
4329       PJI_FM_AGGR_DLY_RATES prj_pa_rt
4330     where
4331       tmp1.EXPENDITURE_ORGANIZATION_ID    is not null                  and
4332       decode(l_params_cost_flag, 'Y', tmp1.PROJECT_ORG_ID, -1)
4333                                           = prj_info.ORG_ID            and
4334       decode(l_params_cost_flag, 'Y', tmp1.EXPENDITURE_ORG_ID, -1)
4335                                           = res_info.ORG_ID            and
4336       prj_gl_rt.WORKER_ID                 = -1                         and
4337       tmp1.RECVR_GL_TIME_ID               = prj_gl_rt.TIME_ID          and
4338       prj_info.PF_CURRENCY_CODE           = prj_gl_rt.PF_CURRENCY_CODE and
4339       prj_pa_rt.WORKER_ID                 = -1                         and
4340       tmp1.RECVR_PA_TIME_ID               = prj_pa_rt.TIME_ID          and
4341       prj_info.PF_CURRENCY_CODE           = prj_pa_rt.PF_CURRENCY_CODE
4342     ) tmp1;
4343 
4344     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.FIN_SUMMARY(p_worker_id);');
4345 
4346     -- truncate intermediate tables no longer required
4347     l_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
4348     PJI_PROCESS_UTIL.TRUNC_INT_TABLE( l_schema , 'PJI_FM_AGGR_FIN1' , 'NORMAL',null);
4349 
4350     commit;
4351 
4352   end FIN_SUMMARY;
4353 
4354 
4355   -- -----------------------------------------------------
4356   -- procedure MOVE_DANGLING_FIN_ROWS
4357   -- -----------------------------------------------------
4358   procedure MOVE_DANGLING_FIN_ROWS (p_worker_id in number) is
4359 
4360     l_process varchar2(30);
4361 
4362   begin
4363 
4364     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
4365 
4366     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.MOVE_DANGLING_FIN_ROWS(p_worker_id);')) then
4367       return;
4368     end if;
4369 
4370     insert into PJI_FM_DNGL_FIN
4371     (
4372       WORKER_ID,
4373       DANGLING_RECVR_GL_RATE_FLAG,
4374       DANGLING_RECVR_GL_RATE2_FLAG,
4375       DANGLING_RECVR_PA_RATE_FLAG,
4376       DANGLING_RECVR_PA_RATE2_FLAG,
4377       DANGLING_PRVDR_EN_TIME_FLAG,
4378       DANGLING_RECVR_EN_TIME_FLAG,
4379       DANGLING_EXP_EN_TIME_FLAG,
4380       DANGLING_PRVDR_GL_TIME_FLAG,
4381       DANGLING_RECVR_GL_TIME_FLAG,
4382       DANGLING_EXP_GL_TIME_FLAG,
4383       DANGLING_PRVDR_PA_TIME_FLAG,
4384       DANGLING_RECVR_PA_TIME_FLAG,
4385       DANGLING_EXP_PA_TIME_FLAG,
4386       PJI_PROJECT_RECORD_FLAG,
4387       PJI_RESOURCE_RECORD_FLAG,
4388       RECORD_TYPE,
4389       CMT_RECORD_TYPE,
4390       PROJECT_ID,
4391       PROJECT_ORG_ID,
4392       PROJECT_ORGANIZATION_ID,
4393       PROJECT_TYPE_CLASS,
4394       PERSON_ID,
4395       EXPENDITURE_ORG_ID,
4396       EXPENDITURE_ORGANIZATION_ID,
4397       EXP_EVT_TYPE_ID,
4398       WORK_TYPE_ID,
4399       JOB_ID,
4400       TASK_ID,
4401       VENDOR_ID,
4402       EXPENDITURE_TYPE,
4403       EVENT_TYPE,
4404       EVENT_TYPE_CLASSIFICATION,
4405       EXPENDITURE_CATEGORY,
4406       REVENUE_CATEGORY,
4407       NON_LABOR_RESOURCE,
4408       BOM_LABOR_RESOURCE_ID,
4409       BOM_EQUIPMENT_RESOURCE_ID,
4410       INVENTORY_ITEM_ID,
4411       PO_LINE_ID,
4412       ASSIGNMENT_ID,
4413       SYSTEM_LINKAGE_FUNCTION,
4414       RESOURCE_CLASS_CODE,
4415       RECVR_GL_TIME_ID,
4416       GL_PERIOD_NAME,
4417       PRVDR_GL_TIME_ID,
4418       RECVR_PA_TIME_ID,
4419       PA_PERIOD_NAME,
4420       PRVDR_PA_TIME_ID,
4421       EXPENDITURE_ITEM_TIME_ID,
4422       PJ_GL_CALENDAR_ID,
4423       PJ_PA_CALENDAR_ID,
4424       RS_GL_CALENDAR_ID,
4425       RS_PA_CALENDAR_ID,
4426       PRJ_REVENUE,
4427       PRJ_LABOR_REVENUE,
4428       PRJ_REVENUE_WRITEOFF,
4429       PRJ_RAW_COST,
4430       PRJ_BRDN_COST,
4431       PRJ_BILL_RAW_COST,
4432       PRJ_BILL_BRDN_COST,
4433       PRJ_LABOR_RAW_COST,
4434       PRJ_LABOR_BRDN_COST,
4435       PRJ_BILL_LABOR_RAW_COST,
4436       PRJ_BILL_LABOR_BRDN_COST,
4437       POU_REVENUE,
4438       POU_LABOR_REVENUE,
4439       POU_REVENUE_WRITEOFF,
4440       POU_RAW_COST,
4441       POU_BRDN_COST,
4442       POU_BILL_RAW_COST,
4443       POU_BILL_BRDN_COST,
4444       POU_LABOR_RAW_COST,
4445       POU_LABOR_BRDN_COST,
4446       POU_BILL_LABOR_RAW_COST,
4447       POU_BILL_LABOR_BRDN_COST,
4448       EOU_RAW_COST,
4449       EOU_BRDN_COST,
4450       EOU_BILL_RAW_COST,
4451       EOU_BILL_BRDN_COST,
4452       TXN_CURRENCY_CODE,
4453       TXN_REVENUE,
4454       TXN_RAW_COST,
4455       TXN_BRDN_COST,
4456       TXN_BILL_RAW_COST,
4457       TXN_BILL_BRDN_COST,
4458       LABOR_HRS,
4459       BILL_LABOR_HRS,
4460       GG1_REVENUE,
4461       GG1_LABOR_REVENUE,
4462       GG1_REVENUE_WRITEOFF,
4463       GG1_RAW_COST,
4464       GG1_BRDN_COST,
4465       GG1_BILL_RAW_COST,
4466       GG1_BILL_BRDN_COST,
4467       GG1_LABOR_RAW_COST,
4468       GG1_LABOR_BRDN_COST,
4469       GG1_BILL_LABOR_RAW_COST,
4470       GG1_BILL_LABOR_BRDN_COST,
4471       GP1_REVENUE,
4472       GP1_LABOR_REVENUE,
4473       GP1_REVENUE_WRITEOFF,
4474       GP1_RAW_COST,
4475       GP1_BRDN_COST,
4476       GP1_BILL_RAW_COST,
4477       GP1_BILL_BRDN_COST,
4478       GP1_LABOR_RAW_COST,
4479       GP1_LABOR_BRDN_COST,
4480       GP1_BILL_LABOR_RAW_COST,
4481       GP1_BILL_LABOR_BRDN_COST,
4482       GG2_REVENUE,
4483       GG2_LABOR_REVENUE,
4484       GG2_REVENUE_WRITEOFF,
4485       GG2_RAW_COST,
4486       GG2_BRDN_COST,
4487       GG2_BILL_RAW_COST,
4488       GG2_BILL_BRDN_COST,
4489       GG2_LABOR_RAW_COST,
4490       GG2_LABOR_BRDN_COST,
4491       GG2_BILL_LABOR_RAW_COST,
4492       GG2_BILL_LABOR_BRDN_COST,
4493       GP2_REVENUE,
4494       GP2_LABOR_REVENUE,
4495       GP2_REVENUE_WRITEOFF,
4496       GP2_RAW_COST,
4497       GP2_BRDN_COST,
4498       GP2_BILL_RAW_COST,
4499       GP2_BILL_BRDN_COST,
4500       GP2_LABOR_RAW_COST,
4501       GP2_LABOR_BRDN_COST,
4502       GP2_BILL_LABOR_RAW_COST,
4503       GP2_BILL_LABOR_BRDN_COST,
4504       TOTAL_HRS_A,
4505       BILL_HRS_A,
4506       CBS_ELEMENT_ID  /* Added for CBS Changes */
4507     )
4508     select /*+ parallel(fin2) */
4509       0 WORKER_ID,
4510       DANGLING_RECVR_GL_RATE_FLAG,
4511       DANGLING_RECVR_GL_RATE2_FLAG,
4512       DANGLING_RECVR_PA_RATE_FLAG,
4513       DANGLING_RECVR_PA_RATE2_FLAG,
4514       DANGLING_PRVDR_EN_TIME_FLAG,
4515       DANGLING_RECVR_EN_TIME_FLAG,
4516       DANGLING_EXP_EN_TIME_FLAG,
4517       DANGLING_PRVDR_GL_TIME_FLAG,
4518       DANGLING_RECVR_GL_TIME_FLAG,
4519       DANGLING_EXP_GL_TIME_FLAG,
4520       DANGLING_PRVDR_PA_TIME_FLAG,
4521       DANGLING_RECVR_PA_TIME_FLAG,
4522       DANGLING_EXP_PA_TIME_FLAG,
4523       PJI_PROJECT_RECORD_FLAG,
4524       PJI_RESOURCE_RECORD_FLAG,
4525       RECORD_TYPE,
4526       CMT_RECORD_TYPE,
4527       PROJECT_ID,
4528       PROJECT_ORG_ID,
4529       PROJECT_ORGANIZATION_ID,
4530       PROJECT_TYPE_CLASS,
4531       PERSON_ID,
4532       EXPENDITURE_ORG_ID,
4533       EXPENDITURE_ORGANIZATION_ID,
4534       EXP_EVT_TYPE_ID,
4535       WORK_TYPE_ID,
4536       JOB_ID,
4537       TASK_ID,
4538       VENDOR_ID,
4539       EXPENDITURE_TYPE,
4540       EVENT_TYPE,
4541       EVENT_TYPE_CLASSIFICATION,
4542       EXPENDITURE_CATEGORY,
4543       REVENUE_CATEGORY,
4544       NON_LABOR_RESOURCE,
4545       BOM_LABOR_RESOURCE_ID,
4546       BOM_EQUIPMENT_RESOURCE_ID,
4547       INVENTORY_ITEM_ID,
4548       PO_LINE_ID,
4549       ASSIGNMENT_ID,
4550       SYSTEM_LINKAGE_FUNCTION,
4551       RESOURCE_CLASS_CODE,
4552       RECVR_GL_TIME_ID,
4553       GL_PERIOD_NAME,
4554       PRVDR_GL_TIME_ID,
4555       RECVR_PA_TIME_ID,
4556       PA_PERIOD_NAME,
4557       PRVDR_PA_TIME_ID,
4558       EXPENDITURE_ITEM_TIME_ID,
4559       PJ_GL_CALENDAR_ID,
4560       PJ_PA_CALENDAR_ID,
4561       RS_GL_CALENDAR_ID,
4562       RS_PA_CALENDAR_ID,
4563       PRJ_REVENUE,
4564       PRJ_LABOR_REVENUE,
4565       PRJ_REVENUE_WRITEOFF,
4566       PRJ_RAW_COST,
4567       PRJ_BRDN_COST,
4568       PRJ_BILL_RAW_COST,
4569       PRJ_BILL_BRDN_COST,
4570       PRJ_LABOR_RAW_COST,
4571       PRJ_LABOR_BRDN_COST,
4572       PRJ_BILL_LABOR_RAW_COST,
4573       PRJ_BILL_LABOR_BRDN_COST,
4574       POU_REVENUE,
4575       POU_LABOR_REVENUE,
4576       POU_REVENUE_WRITEOFF,
4577       POU_RAW_COST,
4578       POU_BRDN_COST,
4579       POU_BILL_RAW_COST,
4580       POU_BILL_BRDN_COST,
4581       POU_LABOR_RAW_COST,
4582       POU_LABOR_BRDN_COST,
4583       POU_BILL_LABOR_RAW_COST,
4584       POU_BILL_LABOR_BRDN_COST,
4585       EOU_RAW_COST,
4586       EOU_BRDN_COST,
4587       EOU_BILL_RAW_COST,
4588       EOU_BILL_BRDN_COST,
4589       TXN_CURRENCY_CODE,
4590       TXN_REVENUE,
4591       TXN_RAW_COST,
4592       TXN_BRDN_COST,
4593       TXN_BILL_RAW_COST,
4594       TXN_BILL_BRDN_COST,
4595       LABOR_HRS,
4596       BILL_LABOR_HRS,
4597       GG1_REVENUE,
4598       GG1_LABOR_REVENUE,
4599       GG1_REVENUE_WRITEOFF,
4600       GG1_RAW_COST,
4601       GG1_BRDN_COST,
4602       GG1_BILL_RAW_COST,
4603       GG1_BILL_BRDN_COST,
4604       GG1_LABOR_RAW_COST,
4605       GG1_LABOR_BRDN_COST,
4606       GG1_BILL_LABOR_RAW_COST,
4607       GG1_BILL_LABOR_BRDN_COST,
4608       GP1_REVENUE,
4609       GP1_LABOR_REVENUE,
4610       GP1_REVENUE_WRITEOFF,
4611       GP1_RAW_COST,
4612       GP1_BRDN_COST,
4613       GP1_BILL_RAW_COST,
4614       GP1_BILL_BRDN_COST,
4615       GP1_LABOR_RAW_COST,
4616       GP1_LABOR_BRDN_COST,
4617       GP1_BILL_LABOR_RAW_COST,
4618       GP1_BILL_LABOR_BRDN_COST,
4619       GG2_REVENUE,
4620       GG2_LABOR_REVENUE,
4621       GG2_REVENUE_WRITEOFF,
4622       GG2_RAW_COST,
4623       GG2_BRDN_COST,
4624       GG2_BILL_RAW_COST,
4625       GG2_BILL_BRDN_COST,
4626       GG2_LABOR_RAW_COST,
4627       GG2_LABOR_BRDN_COST,
4628       GG2_BILL_LABOR_RAW_COST,
4629       GG2_BILL_LABOR_BRDN_COST,
4630       GP2_REVENUE,
4631       GP2_LABOR_REVENUE,
4632       GP2_REVENUE_WRITEOFF,
4633       GP2_RAW_COST,
4634       GP2_BRDN_COST,
4635       GP2_BILL_RAW_COST,
4636       GP2_BILL_BRDN_COST,
4637       GP2_LABOR_RAW_COST,
4638       GP2_LABOR_BRDN_COST,
4639       GP2_BILL_LABOR_RAW_COST,
4640       GP2_BILL_LABOR_BRDN_COST,
4641       TOTAL_HRS_A,
4642       BILL_HRS_A,
4643       CBS_ELEMENT_ID  /* Added for CBS Changes */
4644     from
4645       PJI_FM_AGGR_FIN2 fin2
4646     where
4647       WORKER_ID = p_worker_id and
4648       (DANGLING_RECVR_GL_RATE_FLAG  is not null or
4649        DANGLING_RECVR_GL_RATE2_FLAG is not null or
4650        DANGLING_RECVR_PA_RATE_FLAG  is not null or
4651        DANGLING_RECVR_PA_RATE2_FLAG is not null or
4652        DANGLING_PRVDR_EN_TIME_FLAG  is not null or
4653        DANGLING_RECVR_EN_TIME_FLAG  is not null or
4654        DANGLING_EXP_EN_TIME_FLAG    is not null or
4655        DANGLING_PRVDR_GL_TIME_FLAG  is not null or
4656        DANGLING_RECVR_GL_TIME_FLAG  is not null or
4657        DANGLING_EXP_GL_TIME_FLAG    is not null or
4658        DANGLING_PRVDR_PA_TIME_FLAG  is not null or
4659        DANGLING_RECVR_PA_TIME_FLAG  is not null or
4660        DANGLING_EXP_PA_TIME_FLAG    is not null);
4661 
4662     delete /*+ parallel(fin2) */
4663     from   PJI_FM_AGGR_FIN2 fin2
4664     where  WORKER_ID = p_worker_id and
4665            (DANGLING_RECVR_GL_RATE_FLAG  is not null or
4666             DANGLING_RECVR_GL_RATE2_FLAG is not null or
4667             DANGLING_RECVR_PA_RATE_FLAG  is not null or
4668             DANGLING_RECVR_PA_RATE2_FLAG is not null or
4669             DANGLING_PRVDR_EN_TIME_FLAG  is not null or
4670             DANGLING_RECVR_EN_TIME_FLAG  is not null or
4671             DANGLING_EXP_EN_TIME_FLAG    is not null or
4672             DANGLING_PRVDR_GL_TIME_FLAG  is not null or
4673             DANGLING_RECVR_GL_TIME_FLAG  is not null or
4674             DANGLING_EXP_GL_TIME_FLAG    is not null or
4675             DANGLING_PRVDR_PA_TIME_FLAG  is not null or
4676             DANGLING_RECVR_PA_TIME_FLAG  is not null or
4677             DANGLING_EXP_PA_TIME_FLAG    is not null);
4678 
4679     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.MOVE_DANGLING_FIN_ROWS(p_worker_id);');
4680 
4681     commit;
4682 
4683   end MOVE_DANGLING_FIN_ROWS;
4684 
4685 
4686   -- -----------------------------------------------------
4687   -- procedure ACT_SUMMARY
4688   -- -----------------------------------------------------
4689   procedure ACT_SUMMARY (p_worker_id in number) is
4690 
4691     l_process           varchar2(30);
4692     l_extraction_type   varchar2(30);
4693     l_schema            varchar2(30);
4694 
4695     l_txn_currency_flag varchar2(1);
4696     l_g2_currency_flag  varchar2(1);
4697     l_g1_currency_code  varchar2(30);
4698     l_g2_currency_code  varchar2(30);
4699 
4700   begin
4701 
4702     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
4703 
4704     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.ACT_SUMMARY(p_worker_id);')) then
4705       return;
4706     end if;
4707 
4708     l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
4709 
4710     select
4711       TXN_CURR_FLAG,
4712       GLOBAL_CURR2_FLAG
4713     into
4714       l_txn_currency_flag,
4715       l_g2_currency_flag
4716     from
4717       PJI_SYSTEM_SETTINGS;
4718 
4719     l_g1_currency_code := PJI_UTILS.GET_GLOBAL_PRIMARY_CURRENCY;
4720     l_g2_currency_code := PJI_UTILS.GET_GLOBAL_SECONDARY_CURRENCY;
4721 
4722     insert /*+ append parallel(act2_i) */ into PJI_FM_AGGR_ACT2 act2_i  --  in ACT_SUMMARY
4723     (
4724       WORKER_ID,
4725       DANGLING_GL_RATE_FLAG,
4726       DANGLING_GL_RATE2_FLAG,
4727       DANGLING_PA_RATE_FLAG,
4728       DANGLING_PA_RATE2_FLAG,
4729       DANGLING_EN_TIME_FLAG,
4730       DANGLING_GL_TIME_FLAG,
4731       DANGLING_PA_TIME_FLAG,
4732       ROW_ID,
4733       PROJECT_ID,
4734       PROJECT_ORG_ID,
4735       PROJECT_ORGANIZATION_ID,
4736       TASK_ID,
4737       GL_TIME_ID,
4738       GL_PERIOD_NAME,
4739       PA_TIME_ID,
4740       PA_PERIOD_NAME,
4741       GL_CALENDAR_ID,
4742       PA_CALENDAR_ID,
4743       TXN_CURRENCY_CODE,
4744       TXN_REVENUE,
4745       TXN_FUNDING,
4746       TXN_INITIAL_FUNDING_AMOUNT,
4747       TXN_ADDITIONAL_FUNDING_AMOUNT,
4748       TXN_CANCELLED_FUNDING_AMOUNT,
4749       TXN_FUNDING_ADJUSTMENT_AMOUNT,
4750       TXN_REVENUE_WRITEOFF,
4751       TXN_AR_INVOICE_AMOUNT,
4752       TXN_AR_CASH_APPLIED_AMOUNT,
4753       TXN_AR_INVOICE_WRITEOFF_AMOUNT,
4754       TXN_AR_CREDIT_MEMO_AMOUNT,
4755       TXN_UNBILLED_RECEIVABLES,
4756       TXN_UNEARNED_REVENUE,
4757       TXN_AR_UNAPPR_INVOICE_AMOUNT,
4758       TXN_AR_APPR_INVOICE_AMOUNT,
4759       TXN_AR_AMOUNT_DUE,
4760       TXN_AR_AMOUNT_OVERDUE,
4761       PRJ_REVENUE,
4762       PRJ_FUNDING,
4763       PRJ_INITIAL_FUNDING_AMOUNT,
4764       PRJ_ADDITIONAL_FUNDING_AMOUNT,
4765       PRJ_CANCELLED_FUNDING_AMOUNT,
4766       PRJ_FUNDING_ADJUSTMENT_AMOUNT,
4767       PRJ_REVENUE_WRITEOFF,
4768       PRJ_AR_INVOICE_AMOUNT,
4769       PRJ_AR_CASH_APPLIED_AMOUNT,
4770       PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
4771       PRJ_AR_CREDIT_MEMO_AMOUNT,
4772       PRJ_UNBILLED_RECEIVABLES,
4773       PRJ_UNEARNED_REVENUE,
4774       PRJ_AR_UNAPPR_INVOICE_AMOUNT,
4775       PRJ_AR_APPR_INVOICE_AMOUNT,
4776       PRJ_AR_AMOUNT_DUE,
4777       PRJ_AR_AMOUNT_OVERDUE,
4778       POU_REVENUE,
4779       POU_FUNDING,
4780       POU_INITIAL_FUNDING_AMOUNT,
4781       POU_ADDITIONAL_FUNDING_AMOUNT,
4782       POU_CANCELLED_FUNDING_AMOUNT,
4783       POU_FUNDING_ADJUSTMENT_AMOUNT,
4784       POU_REVENUE_WRITEOFF,
4785       POU_AR_INVOICE_AMOUNT,
4786       POU_AR_CASH_APPLIED_AMOUNT,
4787       POU_AR_INVOICE_WRITEOFF_AMOUNT,
4788       POU_AR_CREDIT_MEMO_AMOUNT,
4789       POU_UNBILLED_RECEIVABLES,
4790       POU_UNEARNED_REVENUE,
4791       POU_AR_UNAPPR_INVOICE_AMOUNT,
4792       POU_AR_APPR_INVOICE_AMOUNT,
4793       POU_AR_AMOUNT_DUE,
4794       POU_AR_AMOUNT_OVERDUE,
4795       INITIAL_FUNDING_COUNT,
4796       ADDITIONAL_FUNDING_COUNT,
4797       CANCELLED_FUNDING_COUNT,
4798       FUNDING_ADJUSTMENT_COUNT,
4799       AR_INVOICE_COUNT,
4800       AR_CASH_APPLIED_COUNT,
4801       AR_INVOICE_WRITEOFF_COUNT,
4802       AR_CREDIT_MEMO_COUNT,
4803       AR_UNAPPR_INVOICE_COUNT,
4804       AR_APPR_INVOICE_COUNT,
4805       AR_COUNT_DUE,
4806       AR_COUNT_OVERDUE,
4807       GG_REVENUE,
4808       GG_FUNDING,
4809       GG_INITIAL_FUNDING_AMOUNT,
4810       GG_ADDITIONAL_FUNDING_AMOUNT,
4811       GG_CANCELLED_FUNDING_AMOUNT,
4812       GG_FUNDING_ADJUSTMENT_AMOUNT,
4813       GG_REVENUE_WRITEOFF,
4814       GG_AR_INVOICE_AMOUNT,
4815       GG_AR_CASH_APPLIED_AMOUNT,
4816       GG_AR_INVOICE_WRITEOFF_AMOUNT,
4817       GG_AR_CREDIT_MEMO_AMOUNT,
4818       GG_UNBILLED_RECEIVABLES,
4819       GG_UNEARNED_REVENUE,
4820       GG_AR_UNAPPR_INVOICE_AMOUNT,
4821       GG_AR_APPR_INVOICE_AMOUNT,
4822       GG_AR_AMOUNT_DUE,
4823       GG_AR_AMOUNT_OVERDUE,
4824       GP_REVENUE,
4825       GP_FUNDING,
4826       GP_INITIAL_FUNDING_AMOUNT,
4827       GP_ADDITIONAL_FUNDING_AMOUNT,
4828       GP_CANCELLED_FUNDING_AMOUNT,
4829       GP_FUNDING_ADJUSTMENT_AMOUNT,
4830       GP_REVENUE_WRITEOFF,
4831       GP_AR_INVOICE_AMOUNT,
4832       GP_AR_CASH_APPLIED_AMOUNT,
4833       GP_AR_INVOICE_WRITEOFF_AMOUNT,
4834       GP_AR_CREDIT_MEMO_AMOUNT,
4835       GP_UNBILLED_RECEIVABLES,
4836       GP_UNEARNED_REVENUE,
4837       GP_AR_UNAPPR_INVOICE_AMOUNT,
4838       GP_AR_APPR_INVOICE_AMOUNT,
4839       GP_AR_AMOUNT_DUE,
4840       GP_AR_AMOUNT_OVERDUE,
4841       GG2_REVENUE,
4842       GG2_FUNDING,
4843       GG2_INITIAL_FUNDING_AMOUNT,
4844       GG2_ADDITIONAL_FUNDING_AMOUNT,
4845       GG2_CANCELLED_FUNDING_AMOUNT,
4846       GG2_FUNDING_ADJUSTMENT_AMOUNT,
4847       GG2_REVENUE_WRITEOFF,
4848       GG2_AR_INVOICE_AMOUNT,
4849       GG2_AR_CASH_APPLIED_AMOUNT,
4850       GG2_AR_INVOICE_WRITEOFF_AMOUNT,
4851       GG2_AR_CREDIT_MEMO_AMOUNT,
4852       GG2_UNBILLED_RECEIVABLES,
4853       GG2_UNEARNED_REVENUE,
4854       GG2_AR_UNAPPR_INVOICE_AMOUNT,
4855       GG2_AR_APPR_INVOICE_AMOUNT,
4856       GG2_AR_AMOUNT_DUE,
4857       GG2_AR_AMOUNT_OVERDUE,
4858       GP2_REVENUE,
4859       GP2_FUNDING,
4860       GP2_INITIAL_FUNDING_AMOUNT,
4861       GP2_ADDITIONAL_FUNDING_AMOUNT,
4862       GP2_CANCELLED_FUNDING_AMOUNT,
4863       GP2_FUNDING_ADJUSTMENT_AMOUNT,
4864       GP2_REVENUE_WRITEOFF,
4865       GP2_AR_INVOICE_AMOUNT,
4866       GP2_AR_CASH_APPLIED_AMOUNT,
4867       GP2_AR_INVOICE_WRITEOFF_AMOUNT,
4868       GP2_AR_CREDIT_MEMO_AMOUNT,
4869       GP2_UNBILLED_RECEIVABLES,
4870       GP2_UNEARNED_REVENUE,
4871       GP2_AR_UNAPPR_INVOICE_AMOUNT,
4872       GP2_AR_APPR_INVOICE_AMOUNT,
4873       GP2_AR_AMOUNT_DUE,
4874       GP2_AR_AMOUNT_OVERDUE
4875     )
4876     select
4877       tmp1.WORKER_ID,
4878       tmp1.DANGLING_GL_RATE_FLAG,
4879       tmp1.DANGLING_GL_RATE2_FLAG,
4880       tmp1.DANGLING_PA_RATE_FLAG,
4881       tmp1.DANGLING_PA_RATE2_FLAG,
4882       tmp1.DANGLING_EN_TIME_FLAG,
4883       tmp1.DANGLING_GL_TIME_FLAG,
4884       tmp1.DANGLING_PA_TIME_FLAG,
4885       null ROW_ID,
4886       tmp1.PROJECT_ID,
4887       tmp1.PROJECT_ORG_ID,
4888       tmp1.PROJECT_ORGANIZATION_ID,
4889       tmp1.TASK_ID,
4890       tmp1.GL_TIME_ID,
4891       tmp1.GL_PERIOD_NAME,
4892       tmp1.PA_TIME_ID,
4893       tmp1.PA_PERIOD_NAME,
4894       tmp1.GL_CALENDAR_ID,
4895       tmp1.PA_CALENDAR_ID,
4896       tmp1.TXN_CURRENCY_CODE,
4897       tmp1.TXN_REVENUE,
4898       tmp1.TXN_FUNDING,
4899       tmp1.TXN_INITIAL_FUNDING_AMOUNT,
4900       tmp1.TXN_ADDITIONAL_FUNDING_AMOUNT,
4901       tmp1.TXN_CANCELLED_FUNDING_AMOUNT,
4902       tmp1.TXN_FUNDING_ADJUSTMENT_AMOUNT,
4903       tmp1.TXN_REVENUE_WRITEOFF,
4904       tmp1.TXN_AR_INVOICE_AMOUNT,
4905       tmp1.TXN_AR_CASH_APPLIED_AMOUNT,
4906       tmp1.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
4907       tmp1.TXN_AR_CREDIT_MEMO_AMOUNT,
4908       tmp1.TXN_UNBILLED_RECEIVABLES,
4909       tmp1.TXN_UNEARNED_REVENUE,
4910       tmp1.TXN_AR_UNAPPR_INVOICE_AMOUNT,
4911       tmp1.TXN_AR_APPR_INVOICE_AMOUNT,
4912       tmp1.TXN_AR_AMOUNT_DUE,
4913       tmp1.TXN_AR_AMOUNT_OVERDUE,
4914       tmp1.PRJ_REVENUE,
4915       tmp1.PRJ_FUNDING,
4916       tmp1.PRJ_INITIAL_FUNDING_AMOUNT,
4917       tmp1.PRJ_ADDITIONAL_FUNDING_AMOUNT,
4918       tmp1.PRJ_CANCELLED_FUNDING_AMOUNT,
4919       tmp1.PRJ_FUNDING_ADJUSTMENT_AMOUNT,
4920       tmp1.PRJ_REVENUE_WRITEOFF,
4921       tmp1.PRJ_AR_INVOICE_AMOUNT,
4922       tmp1.PRJ_AR_CASH_APPLIED_AMOUNT,
4923       tmp1.PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
4924       tmp1.PRJ_AR_CREDIT_MEMO_AMOUNT,
4925       tmp1.PRJ_UNBILLED_RECEIVABLES,
4926       tmp1.PRJ_UNEARNED_REVENUE,
4927       tmp1.PRJ_AR_UNAPPR_INVOICE_AMOUNT,
4928       tmp1.PRJ_AR_APPR_INVOICE_AMOUNT,
4929       tmp1.PRJ_AR_AMOUNT_DUE,
4930       tmp1.PRJ_AR_AMOUNT_OVERDUE,
4931       tmp1.POU_REVENUE,
4932       tmp1.POU_FUNDING,
4933       tmp1.POU_INITIAL_FUNDING_AMOUNT,
4934       tmp1.POU_ADDITIONAL_FUNDING_AMOUNT,
4935       tmp1.POU_CANCELLED_FUNDING_AMOUNT,
4936       tmp1.POU_FUNDING_ADJUSTMENT_AMOUNT,
4937       tmp1.POU_REVENUE_WRITEOFF,
4938       tmp1.POU_AR_INVOICE_AMOUNT,
4939       tmp1.POU_AR_CASH_APPLIED_AMOUNT,
4940       tmp1.POU_AR_INVOICE_WRITEOFF_AMOUNT,
4941       tmp1.POU_AR_CREDIT_MEMO_AMOUNT,
4942       tmp1.POU_UNBILLED_RECEIVABLES,
4943       tmp1.POU_UNEARNED_REVENUE,
4944       tmp1.POU_AR_UNAPPR_INVOICE_AMOUNT,
4945       tmp1.POU_AR_APPR_INVOICE_AMOUNT,
4946       tmp1.POU_AR_AMOUNT_DUE,
4947       tmp1.POU_AR_AMOUNT_OVERDUE,
4948       tmp1.INITIAL_FUNDING_COUNT,
4949       tmp1.ADDITIONAL_FUNDING_COUNT,
4950       tmp1.CANCELLED_FUNDING_COUNT,
4951       tmp1.FUNDING_ADJUSTMENT_COUNT,
4952       tmp1.AR_INVOICE_COUNT,
4953       tmp1.AR_CASH_APPLIED_COUNT,
4954       tmp1.AR_INVOICE_WRITEOFF_COUNT,
4955       tmp1.AR_CREDIT_MEMO_COUNT,
4956       tmp1.AR_UNAPPR_INVOICE_COUNT,
4957       tmp1.AR_APPR_INVOICE_COUNT,
4958       tmp1.AR_COUNT_DUE,
4959       tmp1.AR_COUNT_OVERDUE,
4960       decode(sign(tmp1.WORKER_ID),
4961              1, decode(tmp1.TXN_CURRENCY_CODE,
4962                        l_g1_currency_code,
4963                        tmp1.TXN_REVENUE,
4964                        round(tmp1.POU_REVENUE *
4965                              tmp1.GL_RATE1 /
4966                              GL_MAU1) * GL_MAU1),
4967                 to_number(null))               GG1_REVENUE,
4968       decode(sign(tmp1.WORKER_ID),
4969              1, decode(tmp1.TXN_CURRENCY_CODE,
4970                        l_g1_currency_code,
4971                        tmp1.TXN_FUNDING,
4972                        round(tmp1.POU_FUNDING *
4973                              tmp1.GL_RATE1 /
4974                              GL_MAU1) * GL_MAU1),
4975                 to_number(null))               GG1_FUNDING,
4976       decode(sign(tmp1.WORKER_ID),
4977              1, decode(tmp1.TXN_CURRENCY_CODE,
4978                        l_g1_currency_code,
4979                        tmp1.TXN_INITIAL_FUNDING_AMOUNT,
4980                        round(tmp1.POU_INITIAL_FUNDING_AMOUNT *
4981                              tmp1.GL_RATE1 /
4982                              GL_MAU1) * GL_MAU1),
4983                 to_number(null))               GG1_INITIAL_FUNDING_AMOUNT,
4984       decode(sign(tmp1.WORKER_ID),
4985              1, decode(tmp1.TXN_CURRENCY_CODE,
4986                        l_g1_currency_code,
4987                        tmp1.TXN_ADDITIONAL_FUNDING_AMOUNT,
4988                        round(tmp1.POU_ADDITIONAL_FUNDING_AMOUNT *
4989                              tmp1.GL_RATE1 /
4990                              GL_MAU1) * GL_MAU1),
4991                 to_number(null))               GG1_ADDITIONAL_FUNDING_AMOUNT,
4992       decode(sign(tmp1.WORKER_ID),
4993              1, decode(tmp1.TXN_CURRENCY_CODE,
4994                        l_g1_currency_code,
4995                        tmp1.TXN_CANCELLED_FUNDING_AMOUNT,
4996                        round(tmp1.POU_CANCELLED_FUNDING_AMOUNT *
4997                              tmp1.GL_RATE1 /
4998                              GL_MAU1) * GL_MAU1),
4999                 to_number(null))               GG1_CANCELLED_FUNDING_AMOUNT,
5000       decode(sign(tmp1.WORKER_ID),
5001              1, decode(tmp1.TXN_CURRENCY_CODE,
5002                        l_g1_currency_code,
5003                        tmp1.TXN_FUNDING_ADJUSTMENT_AMOUNT,
5004                        round(tmp1.POU_FUNDING_ADJUSTMENT_AMOUNT *
5005                              tmp1.GL_RATE1 /
5006                              GL_MAU1) * GL_MAU1),
5007                 to_number(null))               GG1_FUNDING_ADJUSTMENT_AMOUNT,
5008       decode(sign(tmp1.WORKER_ID),
5009              1, decode(tmp1.TXN_CURRENCY_CODE,
5010                        l_g1_currency_code,
5011                        tmp1.TXN_REVENUE_WRITEOFF,
5012                        round(tmp1.POU_REVENUE_WRITEOFF *
5013                              tmp1.GL_RATE1 /
5014                              GL_MAU1) * GL_MAU1),
5015                 to_number(null))               GG1_REVENUE_WRITEOFF,
5016       decode(sign(tmp1.WORKER_ID),
5017              1, decode(tmp1.TXN_CURRENCY_CODE,
5018                        l_g1_currency_code,
5019                        tmp1.TXN_AR_INVOICE_AMOUNT,
5020                        round(tmp1.POU_AR_INVOICE_AMOUNT *
5021                              tmp1.GL_RATE1 /
5022                              GL_MAU1) * GL_MAU1),
5023                 to_number(null))               GG1_AR_INVOICE_AMOUNT,
5024       decode(sign(tmp1.WORKER_ID),
5025              1, decode(tmp1.TXN_CURRENCY_CODE,
5026                        l_g1_currency_code,
5027                        tmp1.TXN_AR_CASH_APPLIED_AMOUNT,
5028                        round(tmp1.POU_AR_CASH_APPLIED_AMOUNT *
5029                              tmp1.GL_RATE1 /
5030                              GL_MAU1) * GL_MAU1),
5031                 to_number(null))               GG1_AR_CASH_APPLIED_AMOUNT,
5032       decode(sign(tmp1.WORKER_ID),
5033              1, decode(tmp1.TXN_CURRENCY_CODE,
5034                        l_g1_currency_code,
5035                        tmp1.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
5036                        round(tmp1.POU_AR_INVOICE_WRITEOFF_AMOUNT *
5037                              tmp1.GL_RATE1 /
5038                              GL_MAU1) * GL_MAU1),
5039                 to_number(null))               GG1_AR_INVOICE_WRITEOFF_AMOUNT,
5040       decode(sign(tmp1.WORKER_ID),
5041              1, decode(tmp1.TXN_CURRENCY_CODE,
5042                        l_g1_currency_code,
5043                        tmp1.TXN_AR_CREDIT_MEMO_AMOUNT,
5044                        round(tmp1.POU_AR_CREDIT_MEMO_AMOUNT *
5045                              tmp1.GL_RATE1 /
5046                              GL_MAU1) * GL_MAU1),
5047                 to_number(null))               GG1_AR_CREDIT_MEMO_AMOUNT,
5048       decode(sign(tmp1.WORKER_ID),
5049              1, decode(tmp1.TXN_CURRENCY_CODE,
5050                        l_g1_currency_code,
5051                        tmp1.TXN_UNBILLED_RECEIVABLES,
5052                        round(tmp1.POU_UNBILLED_RECEIVABLES *
5053                              tmp1.GL_RATE1 /
5054                              GL_MAU1) * GL_MAU1),
5055                 to_number(null))               GG1_UNBILLED_RECEIVABLES,
5056       decode(sign(tmp1.WORKER_ID),
5057              1, decode(tmp1.TXN_CURRENCY_CODE,
5058                        l_g1_currency_code,
5059                        tmp1.TXN_UNEARNED_REVENUE,
5060                        round(tmp1.POU_UNEARNED_REVENUE *
5061                              tmp1.GL_RATE1 /
5062                              GL_MAU1) * GL_MAU1),
5063                 to_number(null))               GG1_UNEARNED_REVENUE,
5064       decode(sign(tmp1.WORKER_ID),
5065              1, decode(tmp1.TXN_CURRENCY_CODE,
5066                        l_g1_currency_code,
5067                        tmp1.TXN_AR_UNAPPR_INVOICE_AMOUNT,
5068                        round(tmp1.POU_AR_UNAPPR_INVOICE_AMOUNT *
5069                              tmp1.GL_RATE1 /
5070                              GL_MAU1) * GL_MAU1),
5071                 to_number(null))               GG1_AR_UNAPPR_INVOICE_AMOUNT,
5072       decode(sign(tmp1.WORKER_ID),
5073              1, decode(tmp1.TXN_CURRENCY_CODE,
5074                        l_g1_currency_code,
5075                        tmp1.TXN_AR_APPR_INVOICE_AMOUNT,
5076                        round(tmp1.POU_AR_APPR_INVOICE_AMOUNT *
5077                              tmp1.GL_RATE1 /
5078                              GL_MAU1) * GL_MAU1),
5079                 to_number(null))               GG1_AR_APPR_INVOICE_AMOUNT,
5080       decode(sign(tmp1.WORKER_ID),
5081              1, decode(tmp1.TXN_CURRENCY_CODE,
5082                        l_g1_currency_code,
5083                        tmp1.TXN_AR_AMOUNT_DUE,
5084                        round(tmp1.POU_AR_AMOUNT_DUE *
5085                              tmp1.GL_RATE1 /
5086                              GL_MAU1) * GL_MAU1),
5087                 to_number(null))               GG1_AR_AMOUNT_DUE,
5088       decode(sign(tmp1.WORKER_ID),
5089              1, decode(tmp1.TXN_CURRENCY_CODE,
5090                        l_g1_currency_code,
5091                        tmp1.TXN_AR_AMOUNT_OVERDUE,
5092                        round(tmp1.POU_AR_AMOUNT_OVERDUE *
5093                              tmp1.GL_RATE1 /
5094                              GL_MAU1) * GL_MAU1),
5095                 to_number(null))               GG1_AR_AMOUNT_OVERDUE,
5096       decode(sign(tmp1.WORKER_ID),
5097              1, decode(tmp1.TXN_CURRENCY_CODE,
5098                        l_g1_currency_code,
5099                        tmp1.TXN_REVENUE,
5100                        round(tmp1.POU_REVENUE *
5101                              tmp1.PA_RATE1 /
5102                              PA_MAU1) * PA_MAU1),
5103                 to_number(null))               GP1_REVENUE,
5104       decode(sign(tmp1.WORKER_ID),
5105              1, decode(tmp1.TXN_CURRENCY_CODE,
5106                        l_g1_currency_code,
5107                        tmp1.TXN_FUNDING,
5108                        round(tmp1.POU_FUNDING *
5109                              tmp1.PA_RATE1 /
5110                              PA_MAU1) * PA_MAU1),
5111                 to_number(null))               GP1_FUNDING,
5112       decode(sign(tmp1.WORKER_ID),
5113              1, decode(tmp1.TXN_CURRENCY_CODE,
5114                        l_g1_currency_code,
5115                        tmp1.TXN_INITIAL_FUNDING_AMOUNT,
5116                        round(tmp1.POU_INITIAL_FUNDING_AMOUNT *
5117                              tmp1.PA_RATE1 /
5118                              PA_MAU1) * PA_MAU1),
5119                 to_number(null))               GP1_INITIAL_FUNDING_AMOUNT,
5120       decode(sign(tmp1.WORKER_ID),
5121              1, decode(tmp1.TXN_CURRENCY_CODE,
5122                        l_g1_currency_code,
5123                        tmp1.TXN_ADDITIONAL_FUNDING_AMOUNT,
5124                        round(tmp1.POU_ADDITIONAL_FUNDING_AMOUNT *
5125                              tmp1.PA_RATE1 /
5126                              PA_MAU1) * PA_MAU1),
5127                 to_number(null))               GP1_ADDITIONAL_FUNDING_AMOUNT,
5128       decode(sign(tmp1.WORKER_ID),
5129              1, decode(tmp1.TXN_CURRENCY_CODE,
5130                        l_g1_currency_code,
5131                        tmp1.TXN_CANCELLED_FUNDING_AMOUNT,
5132                        round(tmp1.POU_CANCELLED_FUNDING_AMOUNT *
5133                              tmp1.PA_RATE1 /
5134                              PA_MAU1) * PA_MAU1),
5135                 to_number(null))               GP1_CANCELLED_FUNDING_AMOUNT,
5136       decode(sign(tmp1.WORKER_ID),
5137              1, decode(tmp1.TXN_CURRENCY_CODE,
5138                        l_g1_currency_code,
5139                        tmp1.TXN_FUNDING_ADJUSTMENT_AMOUNT,
5140                        round(tmp1.POU_FUNDING_ADJUSTMENT_AMOUNT *
5141                              tmp1.PA_RATE1 /
5142                              PA_MAU1) * PA_MAU1),
5143                 to_number(null))               GP1_FUNDING_ADJUSTMENT_AMOUNT,
5144       decode(sign(tmp1.WORKER_ID),
5145              1, decode(tmp1.TXN_CURRENCY_CODE,
5146                        l_g1_currency_code,
5147                        tmp1.TXN_REVENUE_WRITEOFF,
5148                        round(tmp1.POU_REVENUE_WRITEOFF *
5149                              tmp1.PA_RATE1 /
5150                              PA_MAU1) * PA_MAU1),
5151                 to_number(null))               GP1_REVENUE_WRITEOFF,
5152       decode(sign(tmp1.WORKER_ID),
5153              1, decode(tmp1.TXN_CURRENCY_CODE,
5154                        l_g1_currency_code,
5155                        tmp1.TXN_AR_INVOICE_AMOUNT,
5156                        round(tmp1.POU_AR_INVOICE_AMOUNT *
5157                              tmp1.PA_RATE1 /
5158                              PA_MAU1) * PA_MAU1),
5159                 to_number(null))               GP1_AR_INVOICE_AMOUNT,
5160       decode(sign(tmp1.WORKER_ID),
5161              1, decode(tmp1.TXN_CURRENCY_CODE,
5162                        l_g1_currency_code,
5163                        tmp1.TXN_AR_CASH_APPLIED_AMOUNT,
5164                        round(tmp1.POU_AR_CASH_APPLIED_AMOUNT *
5165                              tmp1.PA_RATE1 /
5166                              PA_MAU1) * PA_MAU1),
5167                 to_number(null))               GP1_AR_CASH_APPLIED_AMOUNT,
5168       decode(sign(tmp1.WORKER_ID),
5169              1, decode(tmp1.TXN_CURRENCY_CODE,
5170                        l_g1_currency_code,
5171                        tmp1.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
5172                        round(tmp1.POU_AR_INVOICE_WRITEOFF_AMOUNT *
5173                              tmp1.PA_RATE1 /
5174                              PA_MAU1) * PA_MAU1),
5175                 to_number(null))               GP1_AR_INVOICE_WRITEOFF_AMOUNT,
5176       decode(sign(tmp1.WORKER_ID),
5177              1, decode(tmp1.TXN_CURRENCY_CODE,
5178                        l_g1_currency_code,
5179                        tmp1.TXN_AR_CREDIT_MEMO_AMOUNT,
5180                        round(tmp1.POU_AR_CREDIT_MEMO_AMOUNT *
5181                              tmp1.PA_RATE1 /
5182                              PA_MAU1) * PA_MAU1),
5183                 to_number(null))               GP1_AR_CREDIT_MEMO_AMOUNT,
5184       decode(sign(tmp1.WORKER_ID),
5185              1, decode(tmp1.TXN_CURRENCY_CODE,
5186                        l_g1_currency_code,
5187                        tmp1.TXN_UNBILLED_RECEIVABLES,
5188                        round(tmp1.POU_UNBILLED_RECEIVABLES *
5189                              tmp1.PA_RATE1 /
5190                              PA_MAU1) * PA_MAU1),
5191                 to_number(null))               GP1_UNBILLED_RECEIVABLES,
5192       decode(sign(tmp1.WORKER_ID),
5193              1, decode(tmp1.TXN_CURRENCY_CODE,
5194                        l_g1_currency_code,
5195                        tmp1.TXN_UNEARNED_REVENUE,
5196                        round(tmp1.POU_UNEARNED_REVENUE *
5197                              tmp1.PA_RATE1 /
5198                              PA_MAU1) * PA_MAU1),
5199                 to_number(null))               GP1_UNEARNED_REVENUE,
5200       decode(sign(tmp1.WORKER_ID),
5201              1, decode(tmp1.TXN_CURRENCY_CODE,
5202                        l_g1_currency_code,
5203                        tmp1.TXN_AR_UNAPPR_INVOICE_AMOUNT,
5204                        round(tmp1.POU_AR_UNAPPR_INVOICE_AMOUNT *
5205                              tmp1.PA_RATE1 /
5206                              PA_MAU1) * PA_MAU1),
5207                 to_number(null))               GP1_AR_UNAPPR_INVOICE_AMOUNT,
5208       decode(sign(tmp1.WORKER_ID),
5209              1, decode(tmp1.TXN_CURRENCY_CODE,
5210                        l_g1_currency_code,
5211                        tmp1.TXN_AR_APPR_INVOICE_AMOUNT,
5212                        round(tmp1.POU_AR_APPR_INVOICE_AMOUNT *
5213                              tmp1.PA_RATE1 /
5214                              PA_MAU1) * PA_MAU1),
5215                 to_number(null))               GP1_AR_APPR_INVOICE_AMOUNT,
5216       decode(sign(tmp1.WORKER_ID),
5217              1, decode(tmp1.TXN_CURRENCY_CODE,
5218                        l_g1_currency_code,
5219                        tmp1.TXN_AR_AMOUNT_DUE,
5220                        round(tmp1.POU_AR_AMOUNT_DUE *
5221                              tmp1.PA_RATE1 /
5222                              PA_MAU1) * PA_MAU1),
5223                 to_number(null))               GP1_AR_AMOUNT_DUE,
5224       decode(sign(tmp1.WORKER_ID),
5225              1, decode(tmp1.TXN_CURRENCY_CODE,
5226                        l_g1_currency_code,
5227                        tmp1.TXN_AR_AMOUNT_OVERDUE,
5228                        round(tmp1.POU_AR_AMOUNT_OVERDUE *
5229                              tmp1.PA_RATE1 /
5230                              PA_MAU1) * PA_MAU1),
5231                 to_number(null))               GP1_AR_AMOUNT_OVERDUE,
5232       decode(sign(tmp1.WORKER_ID),
5233              1, decode(tmp1.TXN_CURRENCY_CODE,
5234                        l_g2_currency_code,
5235                        tmp1.TXN_REVENUE,
5236                        round(tmp1.POU_REVENUE *
5237                              tmp1.GL_RATE2 /
5238                              GL_MAU2) * GL_MAU2),
5239                 to_number(null))               GG2_REVENUE,
5240       decode(sign(tmp1.WORKER_ID),
5241              1, decode(tmp1.TXN_CURRENCY_CODE,
5242                        l_g2_currency_code,
5243                        tmp1.TXN_FUNDING,
5244                        round(tmp1.POU_FUNDING *
5245                              tmp1.GL_RATE2 /
5246                              GL_MAU2) * GL_MAU2),
5247                 to_number(null))               GG2_FUNDING,
5248       decode(sign(tmp1.WORKER_ID),
5249              1, decode(tmp1.TXN_CURRENCY_CODE,
5250                        l_g2_currency_code,
5251                        tmp1.TXN_INITIAL_FUNDING_AMOUNT,
5252                        round(tmp1.POU_INITIAL_FUNDING_AMOUNT *
5253                              tmp1.GL_RATE2 /
5254                              GL_MAU2) * GL_MAU2),
5255                 to_number(null))               GG2_INITIAL_FUNDING_AMOUNT,
5256       decode(sign(tmp1.WORKER_ID),
5257              1, decode(tmp1.TXN_CURRENCY_CODE,
5258                        l_g2_currency_code,
5259                        tmp1.TXN_ADDITIONAL_FUNDING_AMOUNT,
5260                        round(tmp1.POU_ADDITIONAL_FUNDING_AMOUNT *
5261                              tmp1.GL_RATE2 /
5262                              GL_MAU2) * GL_MAU2),
5263                 to_number(null))               GG2_ADDITIONAL_FUNDING_AMOUNT,
5264       decode(sign(tmp1.WORKER_ID),
5265              1, decode(tmp1.TXN_CURRENCY_CODE,
5266                        l_g2_currency_code,
5267                        tmp1.TXN_CANCELLED_FUNDING_AMOUNT,
5268                        round(tmp1.POU_CANCELLED_FUNDING_AMOUNT *
5269                              tmp1.GL_RATE2 /
5270                              GL_MAU2) * GL_MAU2),
5271                 to_number(null))               GG2_CANCELLED_FUNDING_AMOUNT,
5272       decode(sign(tmp1.WORKER_ID),
5273              1, decode(tmp1.TXN_CURRENCY_CODE,
5274                        l_g2_currency_code,
5275                        tmp1.TXN_FUNDING_ADJUSTMENT_AMOUNT,
5276                        round(tmp1.POU_FUNDING_ADJUSTMENT_AMOUNT *
5277                              tmp1.GL_RATE2 /
5278                              GL_MAU2) * GL_MAU2),
5279                 to_number(null))               GG2_FUNDING_ADJUSTMENT_AMOUNT,
5280       decode(sign(tmp1.WORKER_ID),
5281              1, decode(tmp1.TXN_CURRENCY_CODE,
5282                        l_g2_currency_code,
5283                        tmp1.TXN_REVENUE_WRITEOFF,
5284                        round(tmp1.POU_REVENUE_WRITEOFF *
5285                              tmp1.GL_RATE2 /
5286                              GL_MAU2) * GL_MAU2),
5287                 to_number(null))               GG2_REVENUE_WRITEOFF,
5288       decode(sign(tmp1.WORKER_ID),
5289              1, decode(tmp1.TXN_CURRENCY_CODE,
5290                        l_g2_currency_code,
5291                        tmp1.TXN_AR_INVOICE_AMOUNT,
5292                        round(tmp1.POU_AR_INVOICE_AMOUNT *
5293                              tmp1.GL_RATE2 /
5294                              GL_MAU2) * GL_MAU2),
5295                 to_number(null))               GG2_AR_INVOICE_AMOUNT,
5296       decode(sign(tmp1.WORKER_ID),
5297              1, decode(tmp1.TXN_CURRENCY_CODE,
5298                        l_g2_currency_code,
5299                        tmp1.TXN_AR_CASH_APPLIED_AMOUNT,
5300                        round(tmp1.POU_AR_CASH_APPLIED_AMOUNT *
5301                              tmp1.GL_RATE2 /
5302                              GL_MAU2) * GL_MAU2),
5303                 to_number(null))               GG2_AR_CASH_APPLIED_AMOUNT,
5304       decode(sign(tmp1.WORKER_ID),
5305              1, decode(tmp1.TXN_CURRENCY_CODE,
5306                        l_g2_currency_code,
5307                        tmp1.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
5308                        round(tmp1.POU_AR_INVOICE_WRITEOFF_AMOUNT *
5309                              tmp1.GL_RATE2 /
5310                              GL_MAU2) * GL_MAU2),
5311                 to_number(null))               GG2_AR_INVOICE_WRITEOFF_AMOUNT,
5312       decode(sign(tmp1.WORKER_ID),
5313              1, decode(tmp1.TXN_CURRENCY_CODE,
5314                        l_g2_currency_code,
5315                        tmp1.TXN_AR_CREDIT_MEMO_AMOUNT,
5316                        round(tmp1.POU_AR_CREDIT_MEMO_AMOUNT *
5317                              tmp1.GL_RATE2 /
5318                              GL_MAU2) * GL_MAU2),
5319                 to_number(null))               GG2_AR_CREDIT_MEMO_AMOUNT,
5320       decode(sign(tmp1.WORKER_ID),
5321              1, decode(tmp1.TXN_CURRENCY_CODE,
5322                        l_g2_currency_code,
5323                        tmp1.TXN_UNBILLED_RECEIVABLES,
5324                        round(tmp1.POU_UNBILLED_RECEIVABLES *
5325                              tmp1.GL_RATE2 /
5326                              GL_MAU2) * GL_MAU2),
5327                 to_number(null))               GG2_UNBILLED_RECEIVABLES,
5328       decode(sign(tmp1.WORKER_ID),
5329              1, decode(tmp1.TXN_CURRENCY_CODE,
5330                        l_g2_currency_code,
5331                        tmp1.TXN_UNEARNED_REVENUE,
5332                        round(tmp1.POU_UNEARNED_REVENUE *
5333                              tmp1.GL_RATE2 /
5334                              GL_MAU2) * GL_MAU2),
5335                 to_number(null))               GG2_UNEARNED_REVENUE,
5336       decode(sign(tmp1.WORKER_ID),
5337              1, decode(tmp1.TXN_CURRENCY_CODE,
5338                        l_g2_currency_code,
5339                        tmp1.TXN_AR_UNAPPR_INVOICE_AMOUNT,
5340                        round(tmp1.POU_AR_UNAPPR_INVOICE_AMOUNT *
5341                              tmp1.GL_RATE2 /
5342                              GL_MAU2) * GL_MAU2),
5343                 to_number(null))               GG2_AR_UNAPPR_INVOICE_AMOUNT,
5344       decode(sign(tmp1.WORKER_ID),
5345              1, decode(tmp1.TXN_CURRENCY_CODE,
5346                        l_g2_currency_code,
5347                        tmp1.TXN_AR_APPR_INVOICE_AMOUNT,
5348                        round(tmp1.POU_AR_APPR_INVOICE_AMOUNT *
5349                              tmp1.GL_RATE2 /
5350                              GL_MAU2) * GL_MAU2),
5351                 to_number(null))               GG2_AR_APPR_INVOICE_AMOUNT,
5352       decode(sign(tmp1.WORKER_ID),
5353              1, decode(tmp1.TXN_CURRENCY_CODE,
5354                        l_g2_currency_code,
5355                        tmp1.TXN_AR_AMOUNT_DUE,
5356                        round(tmp1.POU_AR_AMOUNT_DUE *
5357                              tmp1.GL_RATE2 /
5358                              GL_MAU2) * GL_MAU2),
5359                 to_number(null))               GG2_AR_AMOUNT_DUE,
5360       decode(sign(tmp1.WORKER_ID),
5361              1, decode(tmp1.TXN_CURRENCY_CODE,
5362                        l_g2_currency_code,
5363                        tmp1.TXN_AR_AMOUNT_OVERDUE,
5364                        round(tmp1.POU_AR_AMOUNT_OVERDUE *
5365                              tmp1.GL_RATE2 /
5366                              GL_MAU2) * GL_MAU2),
5367                 to_number(null))               GG2_AR_AMOUNT_OVERDUE,
5368       decode(sign(tmp1.WORKER_ID),
5369              1, decode(tmp1.TXN_CURRENCY_CODE,
5370                        l_g2_currency_code,
5371                        tmp1.TXN_REVENUE,
5372                        round(tmp1.POU_REVENUE *
5373                              tmp1.PA_RATE2 /
5374                              PA_MAU2) * PA_MAU2),
5375                 to_number(null))               GP2_REVENUE,
5376       decode(sign(tmp1.WORKER_ID),
5377              1, decode(tmp1.TXN_CURRENCY_CODE,
5378                        l_g2_currency_code,
5379                        tmp1.TXN_FUNDING,
5380                        round(tmp1.POU_FUNDING *
5381                              tmp1.PA_RATE2 /
5382                              PA_MAU2) * PA_MAU2),
5383                 to_number(null))               GP2_FUNDING,
5384       decode(sign(tmp1.WORKER_ID),
5385              1, decode(tmp1.TXN_CURRENCY_CODE,
5386                        l_g2_currency_code,
5387                        tmp1.TXN_INITIAL_FUNDING_AMOUNT,
5388                        round(tmp1.POU_INITIAL_FUNDING_AMOUNT *
5389                              tmp1.PA_RATE2 /
5390                              PA_MAU2) * PA_MAU2),
5391                 to_number(null))               GP2_INITIAL_FUNDING_AMOUNT,
5392       decode(sign(tmp1.WORKER_ID),
5393              1, decode(tmp1.TXN_CURRENCY_CODE,
5394                        l_g2_currency_code,
5395                        tmp1.TXN_ADDITIONAL_FUNDING_AMOUNT,
5396                        round(tmp1.POU_ADDITIONAL_FUNDING_AMOUNT *
5397                              tmp1.PA_RATE2 /
5398                              PA_MAU2) * PA_MAU2),
5399                 to_number(null))               GP2_ADDITIONAL_FUNDING_AMOUNT,
5400       decode(sign(tmp1.WORKER_ID),
5401              1, decode(tmp1.TXN_CURRENCY_CODE,
5402                        l_g2_currency_code,
5403                        tmp1.TXN_CANCELLED_FUNDING_AMOUNT,
5404                        round(tmp1.POU_CANCELLED_FUNDING_AMOUNT *
5405                              tmp1.PA_RATE2 /
5406                              PA_MAU2) * PA_MAU2),
5407                 to_number(null))               GP2_CANCELLED_FUNDING_AMOUNT,
5408       decode(sign(tmp1.WORKER_ID),
5409              1, decode(tmp1.TXN_CURRENCY_CODE,
5410                        l_g2_currency_code,
5411                        tmp1.TXN_FUNDING_ADJUSTMENT_AMOUNT,
5412                        round(tmp1.POU_FUNDING_ADJUSTMENT_AMOUNT *
5413                              tmp1.PA_RATE2 /
5414                              PA_MAU2) * PA_MAU2),
5415                 to_number(null))               GP2_FUNDING_ADJUSTMENT_AMOUNT,
5416       decode(sign(tmp1.WORKER_ID),
5417              1, decode(tmp1.TXN_CURRENCY_CODE,
5418                        l_g2_currency_code,
5419                        tmp1.TXN_REVENUE_WRITEOFF,
5420                        round(tmp1.POU_REVENUE_WRITEOFF *
5421                              tmp1.PA_RATE2 /
5422                              PA_MAU2) * PA_MAU2),
5423                 to_number(null))               GP2_REVENUE_WRITEOFF,
5424       decode(sign(tmp1.WORKER_ID),
5425              1, decode(tmp1.TXN_CURRENCY_CODE,
5426                        l_g2_currency_code,
5427                        tmp1.TXN_AR_INVOICE_AMOUNT,
5428                        round(tmp1.POU_AR_INVOICE_AMOUNT *
5429                              tmp1.PA_RATE2 /
5430                              PA_MAU2) * PA_MAU2),
5431                 to_number(null))               GP2_AR_INVOICE_AMOUNT,
5432       decode(sign(tmp1.WORKER_ID),
5433              1, decode(tmp1.TXN_CURRENCY_CODE,
5434                        l_g2_currency_code,
5435                        tmp1.TXN_AR_CASH_APPLIED_AMOUNT,
5436                        round(tmp1.POU_AR_CASH_APPLIED_AMOUNT *
5437                              tmp1.PA_RATE2 /
5438                              PA_MAU2) * PA_MAU2),
5439                 to_number(null))               GP2_AR_CASH_APPLIED_AMOUNT,
5440       decode(sign(tmp1.WORKER_ID),
5441              1, decode(tmp1.TXN_CURRENCY_CODE,
5442                        l_g2_currency_code,
5443                        tmp1.TXN_AR_INVOICE_WRITEOFF_AMOUNT,
5444                        round(tmp1.POU_AR_INVOICE_WRITEOFF_AMOUNT *
5445                              tmp1.PA_RATE2 /
5446                              PA_MAU2) * PA_MAU2),
5447                 to_number(null))               GP2_AR_INVOICE_WRITEOFF_AMOUNT,
5448       decode(sign(tmp1.WORKER_ID),
5449              1, decode(tmp1.TXN_CURRENCY_CODE,
5450                        l_g2_currency_code,
5451                        tmp1.TXN_AR_CREDIT_MEMO_AMOUNT,
5452                        round(tmp1.POU_AR_CREDIT_MEMO_AMOUNT *
5453                              tmp1.PA_RATE2 /
5454                              PA_MAU2) * PA_MAU2),
5455                 to_number(null))               GP2_AR_CREDIT_MEMO_AMOUNT,
5456       decode(sign(tmp1.WORKER_ID),
5457              1, decode(tmp1.TXN_CURRENCY_CODE,
5458                        l_g2_currency_code,
5459                        tmp1.TXN_UNBILLED_RECEIVABLES,
5460                        round(tmp1.POU_UNBILLED_RECEIVABLES *
5461                              tmp1.PA_RATE2 /
5462                              PA_MAU2) * PA_MAU2),
5463                 to_number(null))               GP2_UNBILLED_RECEIVABLES,
5464       decode(sign(tmp1.WORKER_ID),
5465              1, decode(tmp1.TXN_CURRENCY_CODE,
5466                        l_g2_currency_code,
5467                        tmp1.TXN_UNEARNED_REVENUE,
5468                        round(tmp1.POU_UNEARNED_REVENUE *
5469                              tmp1.PA_RATE2 /
5470                              PA_MAU2) * PA_MAU2),
5471                 to_number(null))               GP2_UNEARNED_REVENUE,
5472       decode(sign(tmp1.WORKER_ID),
5473              1, decode(tmp1.TXN_CURRENCY_CODE,
5474                        l_g2_currency_code,
5475                        tmp1.TXN_AR_UNAPPR_INVOICE_AMOUNT,
5476                        round(tmp1.POU_AR_UNAPPR_INVOICE_AMOUNT *
5477                              tmp1.PA_RATE2 /
5478                              PA_MAU2) * PA_MAU2),
5479                 to_number(null))               GP2_AR_UNAPPR_INVOICE_AMOUNT,
5480       decode(sign(tmp1.WORKER_ID),
5481              1, decode(tmp1.TXN_CURRENCY_CODE,
5482                        l_g2_currency_code,
5483                        tmp1.TXN_AR_APPR_INVOICE_AMOUNT,
5484                        round(tmp1.POU_AR_APPR_INVOICE_AMOUNT *
5485                              tmp1.PA_RATE2 /
5486                              PA_MAU2) * PA_MAU2),
5487                 to_number(null))               GP2_AR_APPR_INVOICE_AMOUNT,
5488       decode(sign(tmp1.WORKER_ID),
5489              1, decode(tmp1.TXN_CURRENCY_CODE,
5490                        l_g2_currency_code,
5491                        tmp1.TXN_AR_AMOUNT_DUE,
5492                        round(tmp1.POU_AR_AMOUNT_DUE *
5493                              tmp1.PA_RATE2 /
5494                              PA_MAU2) * PA_MAU2),
5495                 to_number(null))               GP2_AR_AMOUNT_DUE,
5496       decode(sign(tmp1.WORKER_ID),
5497              1, decode(tmp1.TXN_CURRENCY_CODE,
5498                        l_g2_currency_code,
5499                        tmp1.TXN_AR_AMOUNT_OVERDUE,
5500                        round(tmp1.POU_AR_AMOUNT_OVERDUE *
5501                              tmp1.PA_RATE2 /
5502                              PA_MAU2) * PA_MAU2),
5503                 to_number(null))               GP2_AR_AMOUNT_OVERDUE
5504     from
5505     (
5506     select   /*+ ordered
5507                  full(tmp1)     use_hash(tmp1)    parallel(tmp1)
5508                  full(prj_info) use_hash(prj_info)
5509                  full(gl_rt)    use_hash(gl_rt)
5510                  full(pa_rt)    use_hash(pa_rt)
5511               */
5512       p_worker_id                              WORKER_ID,
5513       decode(gl_rt.RATE,
5514              -3, 'E', -- EUR rate for 01-JAN-1999 is missing
5515              decode(sign(gl_rt.RATE),
5516                     -1, 'Y', null))            DANGLING_GL_RATE_FLAG,
5517       decode(l_g2_currency_flag,
5518              'Y', decode(gl_rt.RATE2,
5519                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
5520                          decode(sign(gl_rt.RATE2),
5521                                 -1, 'Y', null)),
5522              null)                             DANGLING_GL_RATE2_FLAG,
5523       decode(pa_rt.RATE,
5524              -3, 'E', -- EUR rate for 01-JAN-1999 is missing
5525              decode(sign(pa_rt.RATE),
5526                     -1, 'Y', null))            DANGLING_PA_RATE_FLAG,
5527       decode(l_g2_currency_flag,
5528              'Y', decode(pa_rt.RATE2,
5529                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
5530                          decode(sign(pa_rt.RATE2),
5531                                 -1, 'Y', null)),
5532              null)                             DANGLING_PA_RATE2_FLAG,
5533       decode(sign(prj_info.EN_CALENDAR_MIN_DATE -
5534                   tmp1.GL_TIME_ID) +
5535              sign(tmp1.GL_TIME_ID -
5536                   prj_info.EN_CALENDAR_MAX_DATE),
5537              0, 'Y', null)                     DANGLING_EN_TIME_FLAG,
5538       decode(sign(prj_info.GL_CALENDAR_MIN_DATE -
5539                   tmp1.GL_TIME_ID) +
5540              sign(tmp1.GL_TIME_ID -
5541                   prj_info.GL_CALENDAR_MAX_DATE),
5542              0, 'Y', null)                     DANGLING_GL_TIME_FLAG,
5543       decode(sign(prj_info.PA_CALENDAR_MIN_DATE -
5544                   tmp1.PA_TIME_ID) +
5545              sign(tmp1.PA_TIME_ID -
5546                   prj_info.PA_CALENDAR_MAX_DATE),
5547              0, 'Y', null)                     DANGLING_PA_TIME_FLAG,
5548       tmp1.PROJECT_ID,
5549       tmp1.PROJECT_ORG_ID,
5550       tmp1.PROJECT_ORGANIZATION_ID,
5551       tmp1.TASK_ID,
5552       tmp1.GL_TIME_ID,
5553       tmp1.GL_PERIOD_NAME,
5554       tmp1.PA_TIME_ID,
5555       tmp1.PA_PERIOD_NAME,
5556       prj_info.GL_CALENDAR_ID                  GL_CALENDAR_ID,
5557       prj_info.PA_CALENDAR_ID                  PA_CALENDAR_ID,
5558       gl_rt.RATE                               GL_RATE1,
5559       gl_rt.RATE2                              GL_RATE2,
5560       pa_rt.RATE                               PA_RATE1,
5561       pa_rt.RATE2                              PA_RATE2,
5562       gl_rt.MAU                                GL_MAU1,
5563       gl_rt.MAU2                               GL_MAU2,
5564       pa_rt.MAU                                PA_MAU1,
5565       pa_rt.MAU2                               PA_MAU2,
5566       tmp1.TXN_CURRENCY_CODE                   TXN_CURRENCY_CODE,
5567       sum(tmp1.TXN_REVENUE)                    TXN_REVENUE,
5568       sum(tmp1.TXN_FUNDING)                    TXN_FUNDING,
5569       sum(tmp1.TXN_INITIAL_FUNDING_AMOUNT)     TXN_INITIAL_FUNDING_AMOUNT,
5570       sum(tmp1.TXN_ADDITIONAL_FUNDING_AMOUNT)  TXN_ADDITIONAL_FUNDING_AMOUNT,
5571       sum(tmp1.TXN_CANCELLED_FUNDING_AMOUNT)   TXN_CANCELLED_FUNDING_AMOUNT,
5572       sum(tmp1.TXN_FUNDING_ADJUSTMENT_AMOUNT)  TXN_FUNDING_ADJUSTMENT_AMOUNT,
5573       sum(tmp1.TXN_REVENUE_WRITEOFF)           TXN_REVENUE_WRITEOFF,
5574       sum(tmp1.TXN_AR_INVOICE_AMOUNT)          TXN_AR_INVOICE_AMOUNT,
5575       sum(tmp1.TXN_AR_CASH_APPLIED_AMOUNT)     TXN_AR_CASH_APPLIED_AMOUNT,
5576       sum(tmp1.TXN_AR_INVOICE_WRITEOFF_AMOUNT) TXN_AR_INVOICE_WRITEOFF_AMOUNT,
5577       sum(tmp1.TXN_AR_CREDIT_MEMO_AMOUNT)      TXN_AR_CREDIT_MEMO_AMOUNT,
5578       sum(tmp1.TXN_UNBILLED_RECEIVABLES)       TXN_UNBILLED_RECEIVABLES,
5579       sum(tmp1.TXN_UNEARNED_REVENUE)           TXN_UNEARNED_REVENUE,
5580       sum(tmp1.TXN_AR_UNAPPR_INVOICE_AMOUNT)   TXN_AR_UNAPPR_INVOICE_AMOUNT,
5581       sum(tmp1.TXN_AR_APPR_INVOICE_AMOUNT)     TXN_AR_APPR_INVOICE_AMOUNT,
5582       sum(tmp1.TXN_AR_AMOUNT_DUE)              TXN_AR_AMOUNT_DUE,
5583       sum(tmp1.TXN_AR_AMOUNT_OVERDUE)          TXN_AR_AMOUNT_OVERDUE,
5584       sum(tmp1.PRJ_REVENUE)                    PRJ_REVENUE,
5585       sum(tmp1.PRJ_FUNDING)                    PRJ_FUNDING,
5586       sum(tmp1.PRJ_INITIAL_FUNDING_AMOUNT)     PRJ_INITIAL_FUNDING_AMOUNT,
5587       sum(tmp1.PRJ_ADDITIONAL_FUNDING_AMOUNT)  PRJ_ADDITIONAL_FUNDING_AMOUNT,
5588       sum(tmp1.PRJ_CANCELLED_FUNDING_AMOUNT)   PRJ_CANCELLED_FUNDING_AMOUNT,
5589       sum(tmp1.PRJ_FUNDING_ADJUSTMENT_AMOUNT)  PRJ_FUNDING_ADJUSTMENT_AMOUNT,
5590       sum(tmp1.PRJ_REVENUE_WRITEOFF)           PRJ_REVENUE_WRITEOFF,
5591       sum(tmp1.PRJ_AR_INVOICE_AMOUNT)          PRJ_AR_INVOICE_AMOUNT,
5592       sum(tmp1.PRJ_AR_CASH_APPLIED_AMOUNT)     PRJ_AR_CASH_APPLIED_AMOUNT,
5593       sum(tmp1.PRJ_AR_INVOICE_WRITEOFF_AMOUNT) PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
5594       sum(tmp1.PRJ_AR_CREDIT_MEMO_AMOUNT)      PRJ_AR_CREDIT_MEMO_AMOUNT,
5595       sum(tmp1.PRJ_UNBILLED_RECEIVABLES)       PRJ_UNBILLED_RECEIVABLES,
5596       sum(tmp1.PRJ_UNEARNED_REVENUE)           PRJ_UNEARNED_REVENUE,
5597       sum(tmp1.PRJ_AR_UNAPPR_INVOICE_AMOUNT)   PRJ_AR_UNAPPR_INVOICE_AMOUNT,
5598       sum(tmp1.PRJ_AR_APPR_INVOICE_AMOUNT)     PRJ_AR_APPR_INVOICE_AMOUNT,
5599       sum(tmp1.PRJ_AR_AMOUNT_DUE)              PRJ_AR_AMOUNT_DUE,
5600       sum(tmp1.PRJ_AR_AMOUNT_OVERDUE)          PRJ_AR_AMOUNT_OVERDUE,
5601       sum(tmp1.POU_REVENUE)                    POU_REVENUE,
5602       sum(tmp1.POU_FUNDING)                    POU_FUNDING,
5603       sum(tmp1.POU_INITIAL_FUNDING_AMOUNT)     POU_INITIAL_FUNDING_AMOUNT,
5604       sum(tmp1.POU_ADDITIONAL_FUNDING_AMOUNT)  POU_ADDITIONAL_FUNDING_AMOUNT,
5605       sum(tmp1.POU_CANCELLED_FUNDING_AMOUNT)   POU_CANCELLED_FUNDING_AMOUNT,
5606       sum(tmp1.POU_FUNDING_ADJUSTMENT_AMOUNT)  POU_FUNDING_ADJUSTMENT_AMOUNT,
5607       sum(tmp1.POU_REVENUE_WRITEOFF)           POU_REVENUE_WRITEOFF,
5608       sum(tmp1.POU_AR_INVOICE_AMOUNT)          POU_AR_INVOICE_AMOUNT,
5609       sum(tmp1.POU_AR_CASH_APPLIED_AMOUNT)     POU_AR_CASH_APPLIED_AMOUNT,
5610       sum(tmp1.POU_AR_INVOICE_WRITEOFF_AMOUNT) POU_AR_INVOICE_WRITEOFF_AMOUNT,
5611       sum(tmp1.POU_AR_CREDIT_MEMO_AMOUNT)      POU_AR_CREDIT_MEMO_AMOUNT,
5612       sum(tmp1.POU_UNBILLED_RECEIVABLES)       POU_UNBILLED_RECEIVABLES,
5613       sum(tmp1.POU_UNEARNED_REVENUE)           POU_UNEARNED_REVENUE,
5614       sum(tmp1.POU_AR_UNAPPR_INVOICE_AMOUNT)   POU_AR_UNAPPR_INVOICE_AMOUNT,
5615       sum(tmp1.POU_AR_APPR_INVOICE_AMOUNT)     POU_AR_APPR_INVOICE_AMOUNT,
5616       sum(tmp1.POU_AR_AMOUNT_DUE)              POU_AR_AMOUNT_DUE,
5617       sum(tmp1.POU_AR_AMOUNT_OVERDUE)          POU_AR_AMOUNT_OVERDUE,
5618       sum(tmp1.INITIAL_FUNDING_COUNT)          INITIAL_FUNDING_COUNT,
5619       sum(tmp1.ADDITIONAL_FUNDING_COUNT)       ADDITIONAL_FUNDING_COUNT,
5620       sum(tmp1.CANCELLED_FUNDING_COUNT)        CANCELLED_FUNDING_COUNT,
5621       sum(tmp1.FUNDING_ADJUSTMENT_COUNT)       FUNDING_ADJUSTMENT_COUNT,
5622       sum(tmp1.AR_INVOICE_COUNT)               AR_INVOICE_COUNT,
5623       sum(tmp1.AR_CASH_APPLIED_COUNT)          AR_CASH_APPLIED_COUNT,
5624       sum(tmp1.AR_INVOICE_WRITEOFF_COUNT)      AR_INVOICE_WRITEOFF_COUNT,
5625       sum(tmp1.AR_CREDIT_MEMO_COUNT)           AR_CREDIT_MEMO_COUNT,
5626       sum(tmp1.AR_UNAPPR_INVOICE_COUNT)        AR_UNAPPR_INVOICE_COUNT,
5627       sum(tmp1.AR_APPR_INVOICE_COUNT)          AR_APPR_INVOICE_COUNT,
5628       sum(tmp1.AR_COUNT_DUE)                   AR_COUNT_DUE,
5629       sum(tmp1.AR_COUNT_OVERDUE)               AR_COUNT_OVERDUE
5630     from
5631       PJI_FM_AGGR_ACT1 tmp1,
5632       PJI_ORG_EXTR_INFO    prj_info,
5633       PJI_FM_AGGR_DLY_RATES    gl_rt,
5634       PJI_FM_AGGR_DLY_RATES    pa_rt
5635     where
5636       tmp1.WORKER_ID            = p_worker_id            and
5637       tmp1.PROJECT_ORG_ID       = prj_info.ORG_ID        and
5638       gl_rt.WORKER_ID           = -1                     and
5639       tmp1.GL_TIME_ID           = gl_rt.TIME_ID          and
5640       prj_info.PF_CURRENCY_CODE = gl_rt.PF_CURRENCY_CODE and
5641       pa_rt.WORKER_ID           = -1                     and
5642       tmp1.PA_TIME_ID           = pa_rt.TIME_ID          and
5643       prj_info.PF_CURRENCY_CODE = pa_rt.PF_CURRENCY_CODE
5644     group by
5645       decode(gl_rt.RATE,
5646              -3, 'E', -- EUR rate for 01-JAN-1999 is missing
5647              decode(sign(gl_rt.RATE),
5648                     -1, 'Y', null)),
5649       decode(l_g2_currency_flag,
5650              'Y', decode(gl_rt.RATE2,
5651                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
5652                          decode(sign(gl_rt.RATE2),
5653                                 -1, 'Y', null)),
5654              null),
5655       decode(pa_rt.RATE,
5656              -3, 'E', -- EUR rate for 01-JAN-1999 is missing
5657              decode(sign(pa_rt.RATE),
5658                     -1, 'Y', null)),
5659       decode(l_g2_currency_flag,
5660              'Y', decode(pa_rt.RATE2,
5661                          -3, 'E', -- EUR rate for 01-JAN-1999 is missing
5662                          decode(sign(pa_rt.RATE2),
5663                                 -1, 'Y', null)),
5664              null),
5665       decode(sign(prj_info.EN_CALENDAR_MIN_DATE -
5666                   tmp1.GL_TIME_ID) +
5667              sign(tmp1.GL_TIME_ID -
5668                   prj_info.EN_CALENDAR_MAX_DATE),
5669              0, 'Y', null),
5670       decode(sign(prj_info.GL_CALENDAR_MIN_DATE -
5671                   tmp1.GL_TIME_ID) +
5672              sign(tmp1.GL_TIME_ID -
5673                   prj_info.GL_CALENDAR_MAX_DATE),
5674              0, 'Y', null),
5675       decode(sign(prj_info.PA_CALENDAR_MIN_DATE -
5676                   tmp1.PA_TIME_ID) +
5677              sign(tmp1.PA_TIME_ID -
5678                   prj_info.PA_CALENDAR_MAX_DATE),
5679              0, 'Y', null),
5680       tmp1.PROJECT_ID,
5681       tmp1.PROJECT_ORG_ID,
5682       tmp1.PROJECT_ORGANIZATION_ID,
5683       tmp1.TASK_ID,
5684       tmp1.GL_TIME_ID,
5685       tmp1.GL_PERIOD_NAME,
5686       tmp1.PA_TIME_ID,
5687       tmp1.PA_PERIOD_NAME,
5688       prj_info.GL_CALENDAR_ID,
5689       prj_info.PA_CALENDAR_ID,
5690       gl_rt.RATE,
5691       gl_rt.RATE2,
5692       pa_rt.RATE,
5693       pa_rt.RATE2,
5694       gl_rt.MAU,
5695       gl_rt.MAU2,
5696       pa_rt.MAU,
5697       pa_rt.MAU2,
5698       tmp1.TXN_CURRENCY_CODE
5699     ) tmp1;
5700 
5701     delete
5702     from   PJI_FM_AGGR_DLY_RATES
5703     where  WORKER_ID = -1;
5704 
5705     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.ACT_SUMMARY(p_worker_id);');
5706 
5707     -- truncate intermediate tables no longer required
5708     l_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
5709     PJI_PROCESS_UTIL.TRUNC_INT_TABLE( l_schema , 'PJI_FM_AGGR_ACT1' , 'NORMAL',null);
5710 
5711     commit;
5712 
5713   end ACT_SUMMARY;
5714 
5715 
5716   -- -----------------------------------------------------
5717   -- procedure MOVE_DANGLING_ACT_ROWS
5718   -- -----------------------------------------------------
5719   procedure MOVE_DANGLING_ACT_ROWS (p_worker_id in number) is
5720 
5721     l_process varchar2(30);
5722 
5723   begin
5724 
5725     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
5726 
5727     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.MOVE_DANGLING_ACT_ROWS(p_worker_id);')) then
5728       return;
5729     end if;
5730 
5731     insert into PJI_FM_DNGL_ACT
5732     (
5733       WORKER_ID,
5734       DANGLING_GL_RATE_FLAG,
5735       DANGLING_GL_RATE2_FLAG,
5736       DANGLING_PA_RATE_FLAG,
5737       DANGLING_PA_RATE2_FLAG,
5738       DANGLING_EN_TIME_FLAG,
5739       DANGLING_GL_TIME_FLAG,
5740       DANGLING_PA_TIME_FLAG,
5741       PROJECT_ID,
5742       PROJECT_ORG_ID,
5743       PROJECT_ORGANIZATION_ID,
5744       TASK_ID,
5745       GL_TIME_ID,
5746       GL_PERIOD_NAME,
5747       PA_TIME_ID,
5748       PA_PERIOD_NAME,
5749       GL_CALENDAR_ID,
5750       PA_CALENDAR_ID,
5751       PRJ_REVENUE,
5752       PRJ_FUNDING,
5753       PRJ_INITIAL_FUNDING_AMOUNT,
5754       PRJ_ADDITIONAL_FUNDING_AMOUNT,
5755       PRJ_CANCELLED_FUNDING_AMOUNT,
5756       PRJ_FUNDING_ADJUSTMENT_AMOUNT,
5757       PRJ_REVENUE_WRITEOFF,
5758       PRJ_AR_INVOICE_AMOUNT,
5759       PRJ_AR_CASH_APPLIED_AMOUNT,
5760       PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
5761       PRJ_AR_CREDIT_MEMO_AMOUNT,
5762       PRJ_UNBILLED_RECEIVABLES,
5763       PRJ_UNEARNED_REVENUE,
5764       PRJ_AR_UNAPPR_INVOICE_AMOUNT,
5765       PRJ_AR_APPR_INVOICE_AMOUNT,
5766       PRJ_AR_AMOUNT_DUE,
5767       PRJ_AR_AMOUNT_OVERDUE,
5768       POU_REVENUE,
5769       POU_FUNDING,
5770       POU_INITIAL_FUNDING_AMOUNT,
5771       POU_ADDITIONAL_FUNDING_AMOUNT,
5772       POU_CANCELLED_FUNDING_AMOUNT,
5773       POU_FUNDING_ADJUSTMENT_AMOUNT,
5774       POU_REVENUE_WRITEOFF,
5775       POU_AR_INVOICE_AMOUNT,
5776       POU_AR_CASH_APPLIED_AMOUNT,
5777       POU_AR_INVOICE_WRITEOFF_AMOUNT,
5778       POU_AR_CREDIT_MEMO_AMOUNT,
5779       POU_UNBILLED_RECEIVABLES,
5780       POU_UNEARNED_REVENUE,
5781       POU_AR_UNAPPR_INVOICE_AMOUNT,
5782       POU_AR_APPR_INVOICE_AMOUNT,
5783       POU_AR_AMOUNT_DUE,
5784       POU_AR_AMOUNT_OVERDUE,
5785       TXN_CURRENCY_CODE,
5786       TXN_REVENUE,
5787       TXN_FUNDING,
5788       TXN_INITIAL_FUNDING_AMOUNT,
5789       TXN_ADDITIONAL_FUNDING_AMOUNT,
5790       TXN_CANCELLED_FUNDING_AMOUNT,
5791       TXN_FUNDING_ADJUSTMENT_AMOUNT,
5792       TXN_REVENUE_WRITEOFF,
5793       TXN_AR_INVOICE_AMOUNT,
5794       TXN_AR_CASH_APPLIED_AMOUNT,
5795       TXN_AR_INVOICE_WRITEOFF_AMOUNT,
5796       TXN_AR_CREDIT_MEMO_AMOUNT,
5797       TXN_UNBILLED_RECEIVABLES,
5798       TXN_UNEARNED_REVENUE,
5799       TXN_AR_UNAPPR_INVOICE_AMOUNT,
5800       TXN_AR_APPR_INVOICE_AMOUNT,
5801       TXN_AR_AMOUNT_DUE,
5802       TXN_AR_AMOUNT_OVERDUE,
5803       INITIAL_FUNDING_COUNT,
5804       ADDITIONAL_FUNDING_COUNT,
5805       CANCELLED_FUNDING_COUNT,
5806       FUNDING_ADJUSTMENT_COUNT,
5807       AR_INVOICE_COUNT,
5808       AR_CASH_APPLIED_COUNT,
5809       AR_INVOICE_WRITEOFF_COUNT,
5810       AR_CREDIT_MEMO_COUNT,
5811       AR_UNAPPR_INVOICE_COUNT,
5812       AR_APPR_INVOICE_COUNT,
5813       AR_COUNT_DUE,
5814       AR_COUNT_OVERDUE,
5815       GG_REVENUE,
5816       GG_FUNDING,
5817       GG_INITIAL_FUNDING_AMOUNT,
5818       GG_ADDITIONAL_FUNDING_AMOUNT,
5819       GG_CANCELLED_FUNDING_AMOUNT,
5820       GG_FUNDING_ADJUSTMENT_AMOUNT,
5821       GG_REVENUE_WRITEOFF,
5822       GG_AR_INVOICE_AMOUNT,
5823       GG_AR_CASH_APPLIED_AMOUNT,
5824       GG_AR_INVOICE_WRITEOFF_AMOUNT,
5825       GG_AR_CREDIT_MEMO_AMOUNT,
5826       GG_UNBILLED_RECEIVABLES,
5827       GG_UNEARNED_REVENUE,
5828       GG_AR_UNAPPR_INVOICE_AMOUNT,
5829       GG_AR_APPR_INVOICE_AMOUNT,
5830       GG_AR_AMOUNT_DUE,
5831       GG_AR_AMOUNT_OVERDUE,
5832       GP_REVENUE,
5833       GP_FUNDING,
5834       GP_INITIAL_FUNDING_AMOUNT,
5835       GP_ADDITIONAL_FUNDING_AMOUNT,
5836       GP_CANCELLED_FUNDING_AMOUNT,
5837       GP_FUNDING_ADJUSTMENT_AMOUNT,
5838       GP_REVENUE_WRITEOFF,
5839       GP_AR_INVOICE_AMOUNT,
5840       GP_AR_CASH_APPLIED_AMOUNT,
5841       GP_AR_INVOICE_WRITEOFF_AMOUNT,
5842       GP_AR_CREDIT_MEMO_AMOUNT,
5843       GP_UNBILLED_RECEIVABLES,
5844       GP_UNEARNED_REVENUE,
5845       GP_AR_UNAPPR_INVOICE_AMOUNT,
5846       GP_AR_APPR_INVOICE_AMOUNT,
5847       GP_AR_AMOUNT_DUE,
5848       GP_AR_AMOUNT_OVERDUE,
5849       GG2_REVENUE,
5850       GG2_FUNDING,
5851       GG2_INITIAL_FUNDING_AMOUNT,
5852       GG2_ADDITIONAL_FUNDING_AMOUNT,
5853       GG2_CANCELLED_FUNDING_AMOUNT,
5854       GG2_FUNDING_ADJUSTMENT_AMOUNT,
5855       GG2_REVENUE_WRITEOFF,
5856       GG2_AR_INVOICE_AMOUNT,
5857       GG2_AR_CASH_APPLIED_AMOUNT,
5858       GG2_AR_INVOICE_WRITEOFF_AMOUNT,
5859       GG2_AR_CREDIT_MEMO_AMOUNT,
5860       GG2_UNBILLED_RECEIVABLES,
5861       GG2_UNEARNED_REVENUE,
5862       GG2_AR_UNAPPR_INVOICE_AMOUNT,
5863       GG2_AR_APPR_INVOICE_AMOUNT,
5864       GG2_AR_AMOUNT_DUE,
5865       GG2_AR_AMOUNT_OVERDUE,
5866       GP2_REVENUE,
5867       GP2_FUNDING,
5868       GP2_INITIAL_FUNDING_AMOUNT,
5869       GP2_ADDITIONAL_FUNDING_AMOUNT,
5870       GP2_CANCELLED_FUNDING_AMOUNT,
5871       GP2_FUNDING_ADJUSTMENT_AMOUNT,
5872       GP2_REVENUE_WRITEOFF,
5873       GP2_AR_INVOICE_AMOUNT,
5874       GP2_AR_CASH_APPLIED_AMOUNT,
5875       GP2_AR_INVOICE_WRITEOFF_AMOUNT,
5876       GP2_AR_CREDIT_MEMO_AMOUNT,
5877       GP2_UNBILLED_RECEIVABLES,
5878       GP2_UNEARNED_REVENUE,
5879       GP2_AR_UNAPPR_INVOICE_AMOUNT,
5880       GP2_AR_APPR_INVOICE_AMOUNT,
5881       GP2_AR_AMOUNT_DUE,
5882       GP2_AR_AMOUNT_OVERDUE
5883     )
5884     select
5885       0 WORKER_ID,
5886       DANGLING_GL_RATE_FLAG,
5887       DANGLING_GL_RATE2_FLAG,
5888       DANGLING_PA_RATE_FLAG,
5889       DANGLING_PA_RATE2_FLAG,
5890       DANGLING_EN_TIME_FLAG,
5891       DANGLING_GL_TIME_FLAG,
5892       DANGLING_PA_TIME_FLAG,
5893       PROJECT_ID,
5894       PROJECT_ORG_ID,
5895       PROJECT_ORGANIZATION_ID,
5896       TASK_ID,
5897       GL_TIME_ID,
5898       GL_PERIOD_NAME,
5899       PA_TIME_ID,
5900       PA_PERIOD_NAME,
5901       GL_CALENDAR_ID,
5902       PA_CALENDAR_ID,
5903       PRJ_REVENUE,
5904       PRJ_FUNDING,
5905       PRJ_INITIAL_FUNDING_AMOUNT,
5906       PRJ_ADDITIONAL_FUNDING_AMOUNT,
5907       PRJ_CANCELLED_FUNDING_AMOUNT,
5908       PRJ_FUNDING_ADJUSTMENT_AMOUNT,
5909       PRJ_REVENUE_WRITEOFF,
5910       PRJ_AR_INVOICE_AMOUNT,
5911       PRJ_AR_CASH_APPLIED_AMOUNT,
5912       PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
5913       PRJ_AR_CREDIT_MEMO_AMOUNT,
5914       PRJ_UNBILLED_RECEIVABLES,
5915       PRJ_UNEARNED_REVENUE,
5916       PRJ_AR_UNAPPR_INVOICE_AMOUNT,
5917       PRJ_AR_APPR_INVOICE_AMOUNT,
5918       PRJ_AR_AMOUNT_DUE,
5919       PRJ_AR_AMOUNT_OVERDUE,
5920       POU_REVENUE,
5921       POU_FUNDING,
5922       POU_INITIAL_FUNDING_AMOUNT,
5923       POU_ADDITIONAL_FUNDING_AMOUNT,
5924       POU_CANCELLED_FUNDING_AMOUNT,
5925       POU_FUNDING_ADJUSTMENT_AMOUNT,
5926       POU_REVENUE_WRITEOFF,
5927       POU_AR_INVOICE_AMOUNT,
5928       POU_AR_CASH_APPLIED_AMOUNT,
5929       POU_AR_INVOICE_WRITEOFF_AMOUNT,
5930       POU_AR_CREDIT_MEMO_AMOUNT,
5931       POU_UNBILLED_RECEIVABLES,
5932       POU_UNEARNED_REVENUE,
5933       POU_AR_UNAPPR_INVOICE_AMOUNT,
5934       POU_AR_APPR_INVOICE_AMOUNT,
5935       POU_AR_AMOUNT_DUE,
5936       POU_AR_AMOUNT_OVERDUE,
5937       TXN_CURRENCY_CODE,
5938       TXN_REVENUE,
5939       TXN_FUNDING,
5940       TXN_INITIAL_FUNDING_AMOUNT,
5941       TXN_ADDITIONAL_FUNDING_AMOUNT,
5942       TXN_CANCELLED_FUNDING_AMOUNT,
5943       TXN_FUNDING_ADJUSTMENT_AMOUNT,
5944       TXN_REVENUE_WRITEOFF,
5945       TXN_AR_INVOICE_AMOUNT,
5946       TXN_AR_CASH_APPLIED_AMOUNT,
5947       TXN_AR_INVOICE_WRITEOFF_AMOUNT,
5948       TXN_AR_CREDIT_MEMO_AMOUNT,
5949       TXN_UNBILLED_RECEIVABLES,
5950       TXN_UNEARNED_REVENUE,
5951       TXN_AR_UNAPPR_INVOICE_AMOUNT,
5952       TXN_AR_APPR_INVOICE_AMOUNT,
5953       TXN_AR_AMOUNT_DUE,
5954       TXN_AR_AMOUNT_OVERDUE,
5955       INITIAL_FUNDING_COUNT,
5956       ADDITIONAL_FUNDING_COUNT,
5957       CANCELLED_FUNDING_COUNT,
5958       FUNDING_ADJUSTMENT_COUNT,
5959       AR_INVOICE_COUNT,
5960       AR_CASH_APPLIED_COUNT,
5961       AR_INVOICE_WRITEOFF_COUNT,
5962       AR_CREDIT_MEMO_COUNT,
5963       AR_UNAPPR_INVOICE_COUNT,
5964       AR_APPR_INVOICE_COUNT,
5965       AR_COUNT_DUE,
5966       AR_COUNT_OVERDUE,
5967       GG_REVENUE,
5968       GG_FUNDING,
5969       GG_INITIAL_FUNDING_AMOUNT,
5970       GG_ADDITIONAL_FUNDING_AMOUNT,
5971       GG_CANCELLED_FUNDING_AMOUNT,
5972       GG_FUNDING_ADJUSTMENT_AMOUNT,
5973       GG_REVENUE_WRITEOFF,
5974       GG_AR_INVOICE_AMOUNT,
5975       GG_AR_CASH_APPLIED_AMOUNT,
5976       GG_AR_INVOICE_WRITEOFF_AMOUNT,
5977       GG_AR_CREDIT_MEMO_AMOUNT,
5978       GG_UNBILLED_RECEIVABLES,
5979       GG_UNEARNED_REVENUE,
5980       GG_AR_UNAPPR_INVOICE_AMOUNT,
5981       GG_AR_APPR_INVOICE_AMOUNT,
5982       GG_AR_AMOUNT_DUE,
5983       GG_AR_AMOUNT_OVERDUE,
5984       GP_REVENUE,
5985       GP_FUNDING,
5986       GP_INITIAL_FUNDING_AMOUNT,
5987       GP_ADDITIONAL_FUNDING_AMOUNT,
5988       GP_CANCELLED_FUNDING_AMOUNT,
5989       GP_FUNDING_ADJUSTMENT_AMOUNT,
5990       GP_REVENUE_WRITEOFF,
5991       GP_AR_INVOICE_AMOUNT,
5992       GP_AR_CASH_APPLIED_AMOUNT,
5993       GP_AR_INVOICE_WRITEOFF_AMOUNT,
5994       GP_AR_CREDIT_MEMO_AMOUNT,
5995       GP_UNBILLED_RECEIVABLES,
5996       GP_UNEARNED_REVENUE,
5997       GP_AR_UNAPPR_INVOICE_AMOUNT,
5998       GP_AR_APPR_INVOICE_AMOUNT,
5999       GP_AR_AMOUNT_DUE,
6000       GP_AR_AMOUNT_OVERDUE,
6001       GG2_REVENUE,
6002       GG2_FUNDING,
6003       GG2_INITIAL_FUNDING_AMOUNT,
6004       GG2_ADDITIONAL_FUNDING_AMOUNT,
6005       GG2_CANCELLED_FUNDING_AMOUNT,
6006       GG2_FUNDING_ADJUSTMENT_AMOUNT,
6007       GG2_REVENUE_WRITEOFF,
6008       GG2_AR_INVOICE_AMOUNT,
6009       GG2_AR_CASH_APPLIED_AMOUNT,
6010       GG2_AR_INVOICE_WRITEOFF_AMOUNT,
6011       GG2_AR_CREDIT_MEMO_AMOUNT,
6012       GG2_UNBILLED_RECEIVABLES,
6013       GG2_UNEARNED_REVENUE,
6014       GG2_AR_UNAPPR_INVOICE_AMOUNT,
6015       GG2_AR_APPR_INVOICE_AMOUNT,
6016       GG2_AR_AMOUNT_DUE,
6017       GG2_AR_AMOUNT_OVERDUE,
6018       GP2_REVENUE,
6019       GP2_FUNDING,
6020       GP2_INITIAL_FUNDING_AMOUNT,
6021       GP2_ADDITIONAL_FUNDING_AMOUNT,
6022       GP2_CANCELLED_FUNDING_AMOUNT,
6023       GP2_FUNDING_ADJUSTMENT_AMOUNT,
6024       GP2_REVENUE_WRITEOFF,
6025       GP2_AR_INVOICE_AMOUNT,
6026       GP2_AR_CASH_APPLIED_AMOUNT,
6027       GP2_AR_INVOICE_WRITEOFF_AMOUNT,
6028       GP2_AR_CREDIT_MEMO_AMOUNT,
6029       GP2_UNBILLED_RECEIVABLES,
6030       GP2_UNEARNED_REVENUE,
6031       GP2_AR_UNAPPR_INVOICE_AMOUNT,
6032       GP2_AR_APPR_INVOICE_AMOUNT,
6033       GP2_AR_AMOUNT_DUE,
6034       GP2_AR_AMOUNT_OVERDUE
6035     from
6036       PJI_FM_AGGR_ACT2
6037     where
6038       WORKER_ID = p_worker_id and
6039       (DANGLING_GL_RATE_FLAG  is not null or
6040        DANGLING_GL_RATE2_FLAG is not null or
6041        DANGLING_PA_RATE_FLAG  is not null or
6042        DANGLING_PA_RATE2_FLAG is not null or
6043        DANGLING_EN_TIME_FLAG  is not null or
6044        DANGLING_GL_TIME_FLAG  is not null or
6045        DANGLING_PA_TIME_FLAG  is not null);
6046 
6047     delete
6048     from   PJI_FM_AGGR_ACT2
6049     where  WORKER_ID = p_worker_id and
6050            (DANGLING_GL_RATE_FLAG  is not null or
6051             DANGLING_GL_RATE2_FLAG is not null or
6052             DANGLING_PA_RATE_FLAG  is not null or
6053             DANGLING_PA_RATE2_FLAG is not null or
6054             DANGLING_EN_TIME_FLAG  is not null or
6055             DANGLING_GL_TIME_FLAG  is not null or
6056             DANGLING_PA_TIME_FLAG  is not null);
6057 
6058     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.MOVE_DANGLING_ACT_ROWS(p_worker_id);');
6059 
6060     commit;
6061 
6062   end MOVE_DANGLING_ACT_ROWS;
6063 
6064 
6065   -- -----------------------------------------------------
6066   -- procedure AGGREGATE_RES_SLICES
6067   -- -----------------------------------------------------
6068   procedure AGGREGATE_RES_SLICES (p_worker_id in number) is
6069 
6070     l_process varchar2(30);
6071     l_extraction_type varchar2(30);
6072 
6073   begin
6074 
6075     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
6076 
6077     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.AGGREGATE_RES_SLICES(p_worker_id);')) then
6078       return;
6079     end if;
6080 
6081     l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
6082 
6083     if (l_extraction_type = 'PARTIAL') then
6084 
6085       delete
6086       from   PJI_RM_AGGR_RES6
6087       where  PROJECT_ID in (select PROJECT_ID
6088                             from   PJI_FM_PROJ_BATCH_MAP
6089                             where  WORKER_ID = p_worker_id);
6090 
6091     end if;
6092 
6093     insert into PJI_RM_AGGR_RES6
6094     (
6095       WORKER_ID,
6096       PROJECT_ID,
6097       PERSON_ID,
6098       EXPENDITURE_ORG_ID,
6099       EXPENDITURE_ORGANIZATION_ID,
6100       WORK_TYPE_ID,
6101       JOB_ID,
6102       TIME_ID,
6103       PERIOD_TYPE_ID,
6104       CALENDAR_TYPE,
6105       GL_CALENDAR_ID,
6106       PA_CALENDAR_ID,
6107       TOTAL_HRS_A,
6108       BILL_HRS_A
6109     )
6110     select
6111       WORKER_ID,
6112       PROJECT_ID,
6113       PERSON_ID,
6114       EXPENDITURE_ORG_ID,
6115       EXPENDITURE_ORGANIZATION_ID,
6116       WORK_TYPE_ID,
6117       JOB_ID,
6118       EXPENDITURE_ITEM_TIME_ID TIME_ID,
6119       1                        PERIOD_TYPE_ID,
6120       'C'                      CALENDAR_TYPE,
6121       RS_GL_CALENDAR_ID        GL_CALENDAR_ID,
6122       RS_PA_CALENDAR_ID        PA_CALENDAR_ID,
6123       sum(LABOR_HRS)           TOTAL_HRS_A,
6124       sum(BILL_LABOR_HRS)      BILL_HRS_A
6125     from
6126       PJI_FM_AGGR_FIN2
6127     where
6128       WORKER_ID = p_worker_id and
6129       PJI_RESOURCE_RECORD_FLAG = 'Y'
6130     group by
6131       WORKER_ID,
6132       PROJECT_ID,
6133       PERSON_ID,
6134       EXPENDITURE_ORG_ID,
6135       EXPENDITURE_ORGANIZATION_ID,
6136       WORK_TYPE_ID,
6137       JOB_ID,
6138       EXPENDITURE_ITEM_TIME_ID,
6139       RS_GL_CALENDAR_ID,
6140       RS_PA_CALENDAR_ID;
6141 
6142     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.AGGREGATE_RES_SLICES(p_worker_id);');
6143 
6144     commit;
6145 
6146   end AGGREGATE_RES_SLICES;
6147 
6148 
6149   -- -----------------------------------------------------
6150   -- procedure AGGREGATE_FIN_SLICES
6151   -- -----------------------------------------------------
6152   procedure AGGREGATE_FIN_SLICES (p_worker_id in number) is
6153 
6154     l_process varchar2(30);
6155     l_extraction_type varchar2(30);
6156 
6157   begin
6158 
6159     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
6160 
6161     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.AGGREGATE_FIN_SLICES(p_worker_id);')) then
6162       return;
6163     end if;
6164 
6165     l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
6166 
6167 /*    if (l_extraction_type = 'PARTIAL') then
6168 
6169       delete
6170       from   PJI_FM_AGGR_FIN9
6171       where  PROJECT_ID in (select PROJECT_ID
6172                             from   PJI_FM_PROJ_BATCH_MAP
6173                             where  WORKER_ID = p_worker_id);
6174 
6175     end if;
6176 
6177     insert into PJI_FM_AGGR_FIN9
6178     (
6179       WORKER_ID,
6180       PROJECT_ID,
6181       PROJECT_ORGANIZATION_ID,
6182       PROJECT_ORG_ID,
6183       PROJECT_TYPE_CLASS,
6184       WORK_TYPE_ID,
6185       EXP_EVT_TYPE_ID,
6186       TIME_ID,
6187       CALENDAR_TYPE,
6188       GL_CALENDAR_ID,
6189       PA_CALENDAR_ID,
6190       TXN_CURRENCY_CODE,
6191       TXN_REVENUE,
6192       TXN_RAW_COST,
6193       TXN_BRDN_COST,
6194       TXN_BILL_RAW_COST,
6195       TXN_BILL_BRDN_COST,
6196       PRJ_REVENUE,
6197       PRJ_LABOR_REVENUE,
6198       PRJ_RAW_COST,
6199       PRJ_BRDN_COST,
6200       PRJ_BILL_RAW_COST,
6201       PRJ_BILL_BRDN_COST,
6202       PRJ_LABOR_RAW_COST,
6203       PRJ_LABOR_BRDN_COST,
6204       PRJ_BILL_LABOR_RAW_COST,
6205       PRJ_BILL_LABOR_BRDN_COST,
6206       PRJ_REVENUE_WRITEOFF,
6207       POU_REVENUE,
6208       POU_LABOR_REVENUE,
6209       POU_RAW_COST,
6210       POU_BRDN_COST,
6211       POU_BILL_RAW_COST,
6212       POU_BILL_BRDN_COST,
6213       POU_LABOR_RAW_COST,
6214       POU_LABOR_BRDN_COST,
6215       POU_BILL_LABOR_RAW_COST,
6216       POU_BILL_LABOR_BRDN_COST,
6217       POU_REVENUE_WRITEOFF,
6218       EOU_REVENUE,
6219       EOU_RAW_COST,
6220       EOU_BRDN_COST,
6221       EOU_BILL_RAW_COST,
6222       EOU_BILL_BRDN_COST,
6223       G1_REVENUE,
6224       G1_LABOR_REVENUE,
6225       G1_RAW_COST,
6226       G1_BRDN_COST,
6227       G1_BILL_RAW_COST,
6228       G1_BILL_BRDN_COST,
6229       G1_LABOR_RAW_COST,
6230       G1_LABOR_BRDN_COST,
6231       G1_BILL_LABOR_RAW_COST,
6232       G1_BILL_LABOR_BRDN_COST,
6233       G1_REVENUE_WRITEOFF,
6234       G2_REVENUE,
6235       G2_LABOR_REVENUE,
6236       G2_RAW_COST,
6237       G2_BRDN_COST,
6238       G2_BILL_RAW_COST,
6239       G2_BILL_BRDN_COST,
6240       G2_LABOR_RAW_COST,
6241       G2_LABOR_BRDN_COST,
6242       G2_BILL_LABOR_RAW_COST,
6243       G2_BILL_LABOR_BRDN_COST,
6244       G2_REVENUE_WRITEOFF,
6245       LABOR_HRS,
6246       BILL_LABOR_HRS,
6247       QUANTITY,
6248       BILL_QUANTITY
6249     )
6250     select /*+ ordered
6251                full(tmp2)    use_hash(tmp2)     parallel(tmp2)
6252                full(invert)  use_hash(invert)   swap_join_inputs(invert) *
6253       p_worker_id                                 WORKER_ID,
6254       tmp2.PROJECT_ID,
6255       tmp2.PROJECT_ORGANIZATION_ID,
6256       tmp2.PROJECT_ORG_ID,
6257       tmp2.PROJECT_TYPE_CLASS,
6258       tmp2.WORK_TYPE_ID,
6259       tmp2.EXP_EVT_TYPE_ID,
6260       decode(invert.INVERT_ID,
6261              'GL', tmp2.RECVR_GL_TIME_ID,
6262              'PA', tmp2.RECVR_PA_TIME_ID)         TIME_ID,
6263       decode(invert.INVERT_ID,
6264              'GL', 'C',
6265              'PA', 'P')                           CALENDAR_TYPE,
6266       tmp2.PJ_GL_CALENDAR_ID                      GL_CALENDAR_ID,
6267       tmp2.PJ_PA_CALENDAR_ID                      PA_CALENDAR_ID,
6268       null                                        TXN_CURRENCY_CODE,
6269       to_number(null)                             TXN_REVENUE,
6270       to_number(null)                             TXN_RAW_COST,
6271       to_number(null)                             TXN_BRDN_COST,
6272       to_number(null)                             TXN_BILL_RAW_COST,
6273       to_number(null)                             TXN_BILL_BRDN_COST,
6274       sum(tmp2.PRJ_REVENUE)                       PRJ_REVENUE,
6275       sum(tmp2.PRJ_LABOR_REVENUE)                 PRJ_LABOR_REVENUE,
6276       sum(tmp2.PRJ_RAW_COST)                      PRJ_RAW_COST,
6277       sum(tmp2.PRJ_BRDN_COST)                     PRJ_BRDN_COST,
6278       sum(tmp2.PRJ_BILL_RAW_COST)                 PRJ_BILL_RAW_COST,
6279       sum(tmp2.PRJ_BILL_BRDN_COST)                PRJ_BILL_BRDN_COST,
6280       sum(tmp2.PRJ_LABOR_RAW_COST)                PRJ_LABOR_RAW_COST,
6281       sum(tmp2.PRJ_LABOR_BRDN_COST)               PRJ_LABOR_BRDN_COST,
6282       sum(tmp2.PRJ_BILL_LABOR_RAW_COST)           PRJ_BILL_LABOR_RAW_COST,
6283       sum(tmp2.PRJ_BILL_LABOR_BRDN_COST)          PRJ_BILL_LABOR_BRDN_COST,
6284       sum(tmp2.PRJ_REVENUE_WRITEOFF)              PRJ_REVENUE_WRITEOFF,
6285       sum(tmp2.POU_REVENUE)                       POU_REVENUE,
6286       sum(tmp2.POU_LABOR_REVENUE)                 POU_LABOR_REVENUE,
6287       sum(tmp2.POU_RAW_COST)                      POU_RAW_COST,
6288       sum(tmp2.POU_BRDN_COST)                     POU_BRDN_COST,
6289       sum(tmp2.POU_BILL_RAW_COST)                 POU_BILL_RAW_COST,
6290       sum(tmp2.POU_BILL_BRDN_COST)                POU_BILL_BRDN_COST,
6291       sum(tmp2.POU_LABOR_RAW_COST)                POU_LABOR_RAW_COST,
6292       sum(tmp2.POU_LABOR_BRDN_COST)               POU_LABOR_BRDN_COST,
6293       sum(tmp2.POU_BILL_LABOR_RAW_COST)           POU_BILL_LABOR_RAW_COST,
6294       sum(tmp2.POU_BILL_LABOR_BRDN_COST)          POU_BILL_LABOR_BRDN_COST,
6295       sum(tmp2.POU_REVENUE_WRITEOFF)              POU_REVENUE_WRITEOFF,
6296       to_number(null)                             EOU_REVENUE,
6297       to_number(null)                             EOU_RAW_COST,
6298       to_number(null)                             EOU_BRDN_COST,
6299       to_number(null)                             EOU_BILL_RAW_COST,
6300       to_number(null)                             EOU_BILL_BRDN_COST,
6301       sum(decode(invert.INVERT_ID,
6302                  'GL', tmp2.GG1_REVENUE,
6303                  'PA', tmp2.GP1_REVENUE))         G1_REVENUE,
6304       sum(decode(invert.INVERT_ID,
6305                  'GL', tmp2.GG1_LABOR_REVENUE,
6306                  'PA', tmp2.GP1_LABOR_REVENUE))   G1_LABOR_REVENUE,
6307       sum(decode(invert.INVERT_ID,
6308                  'GL', tmp2.GG1_RAW_COST,
6309                  'PA', tmp2.GP1_RAW_COST))        G1_RAW_COST,
6310       sum(decode(invert.INVERT_ID,
6311                  'GL', tmp2.GG1_BRDN_COST,
6312                  'PA', tmp2.GP1_BRDN_COST))       G1_BRDN_COST,
6313       sum(decode(invert.INVERT_ID,
6314                  'GL', tmp2.GG1_BILL_RAW_COST,
6315                  'PA', tmp2.GP1_BILL_RAW_COST))   G1_BILL_RAW_COST,
6316       sum(decode(invert.INVERT_ID,
6317                  'GL', tmp2.GG1_BILL_BRDN_COST,
6318                  'PA', tmp2.GP1_BILL_BRDN_COST))
6319                                                   G1_BILL_BRDN_COST,
6320       sum(decode(invert.INVERT_ID,
6321                  'GL', tmp2.GG1_LABOR_RAW_COST,
6322                  'PA', tmp2.GP1_LABOR_RAW_COST))
6323                                                   G1_LABOR_RAW_COST,
6324       sum(decode(invert.INVERT_ID,
6325                  'GL', tmp2.GG1_LABOR_BRDN_COST,
6326                  'PA', tmp2.GP1_LABOR_BRDN_COST))
6327                                                   G1_LABOR_BRDN_COST,
6328       sum(decode(invert.INVERT_ID,
6329                  'GL', tmp2.GG1_BILL_LABOR_RAW_COST,
6330                  'PA', tmp2.GP1_BILL_LABOR_RAW_COST))
6331                                                   G1_BILL_LABOR_RAW_COST,
6332       sum(decode(invert.INVERT_ID,
6333                  'GL', tmp2.GG1_BILL_LABOR_BRDN_COST,
6334                  'PA', tmp2.GP1_BILL_LABOR_BRDN_COST))
6335                                                   G1_BILL_LABOR_BRDN_COST,
6336       sum(decode(invert.INVERT_ID,
6337                  'GL', tmp2.GG1_REVENUE_WRITEOFF,
6338                  'PA', tmp2.GP1_REVENUE_WRITEOFF))G1_REVENUE_WRITEOFF,
6339       sum(decode(invert.INVERT_ID,
6340                  'GL', tmp2.GG2_REVENUE,
6341                  'PA', tmp2.GP2_REVENUE))         G2_REVENUE,
6342       sum(decode(invert.INVERT_ID,
6343                  'GL', tmp2.GG2_LABOR_REVENUE,
6344                  'PA', tmp2.GP2_LABOR_REVENUE))   G2_LABOR_REVENUE,
6345       sum(decode(invert.INVERT_ID,
6346                  'GL', tmp2.GG2_RAW_COST,
6347                  'PA', tmp2.GP2_RAW_COST))        G2_RAW_COST,
6348       sum(decode(invert.INVERT_ID,
6349                  'GL', tmp2.GG2_BRDN_COST,
6350                  'PA', tmp2.GP2_BRDN_COST))       G2_BRDN_COST,
6351       sum(decode(invert.INVERT_ID,
6352                  'GL', tmp2.GG2_BILL_RAW_COST,
6353                  'PA', tmp2.GP2_BILL_RAW_COST))   G2_BILL_RAW_COST,
6354       sum(decode(invert.INVERT_ID,
6355                  'GL', tmp2.GG2_BILL_BRDN_COST,
6356                  'PA', tmp2.GP2_BILL_BRDN_COST))
6357                                                   G2_BILL_BRDN_COST,
6358       sum(decode(invert.INVERT_ID,
6359                  'GL', tmp2.GG2_LABOR_RAW_COST,
6360                  'PA', tmp2.GP2_LABOR_RAW_COST))  G2_LABOR_RAW_COST,
6361       sum(decode(invert.INVERT_ID,
6362                  'GL', tmp2.GG2_LABOR_BRDN_COST,
6363                  'PA', tmp2.GP2_LABOR_BRDN_COST))
6364                                                   G2_LABOR_BRDN_COST,
6365       sum(decode(invert.INVERT_ID,
6366                  'GL', tmp2.GG2_BILL_LABOR_RAW_COST,
6367                  'PA', tmp2.GP2_BILL_LABOR_RAW_COST))
6368                                                   G2_BILL_LABOR_RAW_COST,
6369       sum(decode(invert.INVERT_ID,
6370                  'GL', tmp2.GG2_BILL_LABOR_BRDN_COST,
6371                  'PA', tmp2.GP2_BILL_LABOR_BRDN_COST))
6372                                                   G2_BILL_LABOR_BRDN_COST,
6373       sum(decode(invert.INVERT_ID,
6374                  'GL', tmp2.GG2_REVENUE_WRITEOFF,
6375                  'PA', tmp2.GP2_REVENUE_WRITEOFF))G2_REVENUE_WRITEOFF,
6376       sum(tmp2.LABOR_HRS)                         LABOR_HRS,
6377       sum(tmp2.BILL_LABOR_HRS)                    BILL_LABOR_HRS,
6378       sum(tmp2.TOTAL_HRS_A)                       QUANTITY,
6379       sum(tmp2.BILL_HRS_A)                        BILL_QUANTITY
6380     from
6381       (
6382         select 'GL' INVERT_ID from DUAL union all
6383         select 'PA' INVERT_ID from DUAL
6384       ) invert,
6385       (                   -- Modified for bug 10071936
6386       select /*+ ordered
6387                full(fin2)    use_hash(fin2)     parallel(fin2)
6388                full(invert)  use_hash(invert)   swap_join_inputs(invert) *
6389       p_worker_id                                 WORKER_ID,
6390       fin2.PROJECT_ID,
6391       fin2.PROJECT_ORGANIZATION_ID,
6392       fin2.PROJECT_ORG_ID,
6393       fin2.PROJECT_TYPE_CLASS,
6394       fin2.WORK_TYPE_ID,
6395       fin2.EXP_EVT_TYPE_ID,
6396       fin2.RECVR_GL_TIME_ID,
6397       fin2.RECVR_PA_TIME_ID,
6398       fin2.PJ_GL_CALENDAR_ID,
6399       fin2.PJ_PA_CALENDAR_ID,
6400       null                                   TXN_CURRENCY_CODE,
6401       to_number(null)                        TXN_REVENUE,
6402       to_number(null)                        TXN_RAW_COST,
6403       to_number(null)                        TXN_BRDN_COST,
6404       to_number(null)                        TXN_BILL_RAW_COST,
6405       to_number(null)                        TXN_BILL_BRDN_COST,
6406       fin2.PRJ_REVENUE                       PRJ_REVENUE,
6407       fin2.PRJ_LABOR_REVENUE                 PRJ_LABOR_REVENUE,
6408       fin2.PRJ_RAW_COST                      PRJ_RAW_COST,
6409       fin2.PRJ_BRDN_COST                     PRJ_BRDN_COST,
6410       fin2.PRJ_BILL_RAW_COST                 PRJ_BILL_RAW_COST,
6411       fin2.PRJ_BILL_BRDN_COST                PRJ_BILL_BRDN_COST,
6412       fin2.PRJ_LABOR_RAW_COST                PRJ_LABOR_RAW_COST,
6413       fin2.PRJ_LABOR_BRDN_COST               PRJ_LABOR_BRDN_COST,
6414       fin2.PRJ_BILL_LABOR_RAW_COST           PRJ_BILL_LABOR_RAW_COST,
6415       fin2.PRJ_BILL_LABOR_BRDN_COST          PRJ_BILL_LABOR_BRDN_COST,
6416       fin2.PRJ_REVENUE_WRITEOFF              PRJ_REVENUE_WRITEOFF,
6417       fin2.POU_REVENUE                       POU_REVENUE,
6418       fin2.POU_LABOR_REVENUE                 POU_LABOR_REVENUE,
6419       fin2.POU_RAW_COST                      POU_RAW_COST,
6420       fin2.POU_BRDN_COST                     POU_BRDN_COST,
6421       fin2.POU_BILL_RAW_COST                 POU_BILL_RAW_COST,
6422       fin2.POU_BILL_BRDN_COST                POU_BILL_BRDN_COST,
6423       fin2.POU_LABOR_RAW_COST                POU_LABOR_RAW_COST,
6424       fin2.POU_LABOR_BRDN_COST               POU_LABOR_BRDN_COST,
6425       fin2.POU_BILL_LABOR_RAW_COST           POU_BILL_LABOR_RAW_COST,
6426       fin2.POU_BILL_LABOR_BRDN_COST          POU_BILL_LABOR_BRDN_COST,
6427       fin2.POU_REVENUE_WRITEOFF              POU_REVENUE_WRITEOFF,
6428       to_number(null)                        EOU_REVENUE,
6429       to_number(null)                        EOU_RAW_COST,
6430       to_number(null)                        EOU_BRDN_COST,
6431       to_number(null)                        EOU_BILL_RAW_COST,
6432       to_number(null)                        EOU_BILL_BRDN_COST,
6433       fin2.GG1_REVENUE,
6434       fin2.GP1_REVENUE,
6435       fin2.GG1_LABOR_REVENUE,
6436       fin2.GP1_LABOR_REVENUE,
6437       fin2.GG1_RAW_COST,
6438       fin2.GP1_RAW_COST,
6439       fin2.GG1_BRDN_COST,
6440       fin2.GP1_BRDN_COST,
6441       fin2.GG1_BILL_RAW_COST,
6442       fin2.GP1_BILL_RAW_COST,
6443       fin2.GG1_BILL_BRDN_COST,
6444       fin2.GP1_BILL_BRDN_COST,
6445       fin2.GG1_LABOR_RAW_COST,
6446       fin2.GP1_LABOR_RAW_COST,
6447       fin2.GG1_LABOR_BRDN_COST,
6448       fin2.GP1_LABOR_BRDN_COST,
6449       fin2.GG1_BILL_LABOR_RAW_COST,
6450       fin2.GP1_BILL_LABOR_RAW_COST,
6451       fin2.GG1_BILL_LABOR_BRDN_COST,
6452       fin2.GP1_BILL_LABOR_BRDN_COST,
6453       fin2.GG1_REVENUE_WRITEOFF,
6454       fin2.GP1_REVENUE_WRITEOFF,
6455       fin2.GG2_REVENUE,
6456       fin2.GP2_REVENUE,
6457       fin2.GG2_LABOR_REVENUE,
6458       fin2.GP2_LABOR_REVENUE,
6459       fin2.GG2_RAW_COST,
6460       fin2.GP2_RAW_COST,
6461       fin2.GG2_BRDN_COST,
6462       fin2.GP2_BRDN_COST,
6463       fin2.GG2_BILL_RAW_COST,
6464       fin2.GP2_BILL_RAW_COST,
6465       fin2.GG2_BILL_BRDN_COST,
6466       fin2.GP2_BILL_BRDN_COST,
6467       fin2.GG2_LABOR_RAW_COST,
6468       fin2.GP2_LABOR_RAW_COST,
6469       fin2.GG2_LABOR_BRDN_COST,
6470       fin2.GP2_LABOR_BRDN_COST,
6471       fin2.GG2_BILL_LABOR_RAW_COST,
6472       fin2.GP2_BILL_LABOR_RAW_COST,
6473       fin2.GG2_BILL_LABOR_BRDN_COST,
6474       fin2.GP2_BILL_LABOR_BRDN_COST,
6475       fin2.GG2_REVENUE_WRITEOFF,
6476       fin2.GP2_REVENUE_WRITEOFF,
6477       fin2.LABOR_HRS,
6478       fin2.BILL_LABOR_HRS,
6479       fin2.TOTAL_HRS_A,
6480       fin2.BILL_HRS_A,
6481       fin2.PJI_PROJECT_RECORD_FLAG
6482     from
6483         PJI_FM_AGGR_FIN2 fin2
6484     where
6485       fin2.WORKER_ID = p_worker_id and
6486       fin2.PJI_PROJECT_RECORD_FLAG = 'Y'
6487     union all
6488       select    -- Modified for bug 10157909
6489       p_worker_id                                 WORKER_ID,
6490       cmt.PROJECT_ID,
6491       cmt.PROJECT_ORGANIZATION_ID,
6492       cmt.PROJECT_ORG_ID,
6493       cmt.PROJECT_TYPE_CLASS,
6494       cmt.WORK_TYPE_ID,
6495       cmt.EXP_EVT_TYPE_ID,
6496       cmt.RECVR_GL_TIME_ID,
6497       cmt.RECVR_PA_TIME_ID,
6498       cmt.PJ_GL_CALENDAR_ID,
6499       cmt.PJ_PA_CALENDAR_ID,
6500       null              TXN_CURRENCY_CODE,
6501       to_number(null)   TXN_REVENUE,
6502       to_number(null)   TXN_RAW_COST,
6503       to_number(null)   TXN_BRDN_COST,
6504       to_number(null)   TXN_BILL_RAW_COST,
6505       to_number(null)   TXN_BILL_BRDN_COST,
6506       to_number(null)   PRJ_REVENUE,
6507       to_number(null)   PRJ_LABOR_REVENUE,
6508       -cmt.PRJ_RAW_COST                      PRJ_RAW_COST,
6509       -cmt.PRJ_BRDN_COST                     PRJ_BRDN_COST,
6510       to_number(null)   PRJ_BILL_RAW_COST,
6511       to_number(null)   PRJ_BILL_BRDN_COST,
6512       to_number(null)   PRJ_LABOR_RAW_COST,
6513       to_number(null)   PRJ_LABOR_BRDN_COST,
6514       to_number(null)   PRJ_BILL_LABOR_RAW_COST,
6515       to_number(null)   PRJ_BILL_LABOR_BRDN_COST,
6516       to_number(null)   PRJ_REVENUE_WRITEOFF,
6517       to_number(null)   POU_REVENUE,
6518       to_number(null)   POU_LABOR_REVENUE,
6519       -cmt.POU_RAW_COST                      POU_RAW_COST,
6520       -cmt.POU_BRDN_COST                     POU_BRDN_COST,
6521       to_number(null)   POU_BILL_RAW_COST,
6522       to_number(null)   POU_BILL_BRDN_COST,
6523       to_number(null)   POU_LABOR_RAW_COST,
6524       to_number(null)   POU_LABOR_BRDN_COST,
6525       to_number(null)   POU_BILL_LABOR_RAW_COST,
6526       to_number(null)   POU_BILL_LABOR_BRDN_COST,
6527       to_number(null)   POU_REVENUE_WRITEOFF,
6528       to_number(null)   EOU_REVENUE,
6529       to_number(null)   EOU_RAW_COST,
6530       to_number(null)   EOU_BRDN_COST,
6531       to_number(null)   EOU_BILL_RAW_COST,
6532       to_number(null)   EOU_BILL_BRDN_COST,
6533       to_number(null)   GG1_REVENUE,
6534       to_number(null)   GP1_REVENUE,
6535       to_number(null)   GG1_LABOR_REVENUE,
6536       to_number(null)   GP1_LABOR_REVENUE,
6537       -cmt.GG1_RAW_COST,
6538       -cmt.GP1_RAW_COST,
6539       -cmt.GG1_BRDN_COST,
6540       -cmt.GP1_BRDN_COST,
6541       to_number(null)   GG1_BILL_RAW_COST,
6542       to_number(null)   GP1_BILL_RAW_COST,
6543       to_number(null)   GG1_BILL_BRDN_COST,
6544       to_number(null)   GP1_BILL_BRDN_COST,
6545       to_number(null)   GG1_LABOR_RAW_COST,
6546       to_number(null)   GP1_LABOR_RAW_COST,
6547       to_number(null)   GG1_LABOR_BRDN_COST,
6548       to_number(null)   GP1_LABOR_BRDN_COST,
6549       to_number(null)   GG1_BILL_LABOR_RAW_COST,
6550       to_number(null)   GP1_BILL_LABOR_RAW_COST,
6551       to_number(null)   GG1_BILL_LABOR_BRDN_COST,
6552       to_number(null)   GP1_BILL_LABOR_BRDN_COST,
6553       to_number(null)   GG1_REVENUE_WRITEOFF,
6554       to_number(null)   GP1_REVENUE_WRITEOFF,
6555       to_number(null)   GG2_REVENUE,
6556       to_number(null)   GP2_REVENUE,
6557       to_number(null)   GG2_LABOR_REVENUE,
6558       to_number(null)   GP2_LABOR_REVENUE,
6559       -cmt.GG2_RAW_COST,
6560       -cmt.GP2_RAW_COST,
6561       -cmt.GG2_BRDN_COST,
6562       -cmt.GP2_BRDN_COST,
6563       to_number(null)   GG2_BILL_RAW_COST,
6564       to_number(null)   GP2_BILL_RAW_COST,
6565       to_number(null)   GG2_BILL_BRDN_COST,
6566       to_number(null)   GP2_BILL_BRDN_COST,
6567       to_number(null)   GG2_LABOR_RAW_COST,
6568       to_number(null)   GP2_LABOR_RAW_COST,
6569       to_number(null)   GG2_LABOR_BRDN_COST,
6570       to_number(null)   GP2_LABOR_BRDN_COST,
6571       to_number(null)   GG2_BILL_LABOR_RAW_COST,
6572       to_number(null)   GP2_BILL_LABOR_RAW_COST,
6573       to_number(null)   GG2_BILL_LABOR_BRDN_COST,
6574       to_number(null)   GP2_BILL_LABOR_BRDN_COST,
6575       to_number(null)   GG2_REVENUE_WRITEOFF,
6576       to_number(null)   GP2_REVENUE_WRITEOFF,
6577       to_number(null)   LABOR_HRS,
6578       to_number(null)   BILL_LABOR_HRS,
6579       to_number(null)   TOTAL_HRS_A,
6580       to_number(null)   BILL_HRS_A,
6581       cmt.PJI_PROJECT_RECORD_FLAG
6582     from
6583         PJI_FM_PJI_CMT cmt,
6584         PJI_FM_AGGR_FIN2 fin2
6585     where
6586       fin2.WORKER_ID = p_worker_id and
6587       cmt.PJI_PROJECT_RECORD_FLAG = 'Y' and
6588       cmt.project_id = fin2.project_id  and
6589       fin2.RECVR_GL_TIME_ID = cmt.RECVR_GL_TIME_ID (+) and
6590       fin2.RECVR_PA_TIME_ID = cmt.RECVR_PA_TIME_ID (+) and
6591       fin2.EXPENDITURE_ITEM_TIME_ID = cmt.EXPENDITURE_ITEM_TIME_ID (+) and
6592       fin2.TXN_CURRENCY_CODE = cmt.TXN_CURRENCY_CODE (+) and
6593       /* Added for bug 11832813 starts *
6594       fin2.task_id = cmt.task_id (+) and
6595       fin2.PROJECT_ORG_ID = cmt.PROJECT_ORG_ID (+) and
6596       fin2.PROJECT_ORGANIZATION_ID = cmt.PROJECT_ORGANIZATION_ID (+) and
6597       fin2.PERSON_ID = cmt.PERSON_ID (+) and
6598       fin2.JOB_ID = cmt.JOB_ID (+) and
6599       fin2.PROJECT_TYPE_CLASS = cmt.PROJECT_TYPE_CLASS (+) and
6600       fin2.EXPENDITURE_TYPE = cmt.EXPENDITURE_TYPE (+) and
6601       fin2.EVENT_TYPE = cmt.EVENT_TYPE (+) and
6602       fin2.EVENT_TYPE_CLASSIFICATION = cmt.EVENT_TYPE_CLASSIFICATION (+) and
6603       fin2.EXPENDITURE_CATEGORY = cmt.EXPENDITURE_CATEGORY (+) and
6604       fin2.REVENUE_CATEGORY = cmt.REVENUE_CATEGORY (+) and
6605       fin2.SYSTEM_LINKAGE_FUNCTION = cmt.SYSTEM_LINKAGE_FUNCTION
6606       /* Added for bug 11832813 ends *
6607       ) tmp2
6608     where
6609       tmp2.WORKER_ID = p_worker_id and
6610       tmp2.PJI_PROJECT_RECORD_FLAG = 'Y'
6611     group by
6612       tmp2.PROJECT_ID,
6613       tmp2.PROJECT_ORGANIZATION_ID,
6614       tmp2.PROJECT_ORG_ID,
6615       tmp2.PROJECT_TYPE_CLASS,
6616       tmp2.WORK_TYPE_ID,
6617       tmp2.EXP_EVT_TYPE_ID,
6618       decode(invert.INVERT_ID,
6619              'GL', tmp2.RECVR_GL_TIME_ID,
6620              'PA', tmp2.RECVR_PA_TIME_ID),
6621       decode(invert.INVERT_ID,
6622              'GL', 'C',
6623              'PA', 'P'),
6624       tmp2.PJ_GL_CALENDAR_ID,
6625       tmp2.PJ_PA_CALENDAR_ID,
6626       tmp2.TXN_CURRENCY_CODE;
6627 
6628       /* Added for bug 9249905 *
6629       if PJI_UTILS.GET_PARAMETER('GLOBAL_START_DATE') is not null then
6630       /* Modified for bug 9483220 *
6631           delete from PJI_FM_PJI_CMT
6632           where project_id in (select distinct project_id
6633                                from PJI_FM_AGGR_FIN2);
6634 
6635           insert into PJI_FM_PJI_CMT
6636           (
6637             WORKER_ID ,
6638             PJI_PROJECT_RECORD_FLAG,
6639             PJI_RESOURCE_RECORD_FLAG,
6640             PROJECT_ID,
6641             PROJECT_ORG_ID,
6642             PROJECT_ORGANIZATION_ID,
6643             PERSON_ID,
6644             EXPENDITURE_ORG_ID,
6645             EXPENDITURE_ORGANIZATION_ID,
6646             WORK_TYPE_ID,
6647             JOB_ID,
6648             PRVDR_GL_TIME_ID,
6649             RECVR_GL_TIME_ID ,
6650             PRVDR_PA_TIME_ID ,
6651             RECVR_PA_TIME_ID ,
6652             PRJ_RAW_COST,
6653             PRJ_BRDN_COST ,
6654             POU_RAW_COST,
6655             POU_BRDN_COST,
6656             GG_RAW_COST ,
6657             GG_BRDN_COST ,
6658             GP_RAW_COST ,
6659             GP_BRDN_COST ,
6660             EXPENDITURE_ITEM_TIME_ID ,
6661             EXP_EVT_TYPE_ID,
6662             PROJECT_TYPE_CLASS  ,
6663             PJ_GL_CALENDAR_ID ,
6664             PJ_PA_CALENDAR_ID,
6665             RS_GL_CALENDAR_ID,
6666             RS_PA_CALENDAR_ID ,
6667             RECORD_TYPE  ,
6668             CMT_RECORD_TYPE ,
6669             TASK_ID,
6670             VENDOR_ID   ,
6671             EXPENDITURE_TYPE,
6672             EVENT_TYPE,
6673             EVENT_TYPE_CLASSIFICATION,
6674             EXPENDITURE_CATEGORY,
6675             REVENUE_CATEGORY ,
6676             NON_LABOR_RESOURCE  ,
6677             BOM_LABOR_RESOURCE_ID  ,
6678             BOM_EQUIPMENT_RESOURCE_ID,
6679             INVENTORY_ITEM_ID   ,
6680             SYSTEM_LINKAGE_FUNCTION  ,
6681             GL_PERIOD_NAME  ,
6682             PA_PERIOD_NAME ,
6683             TXN_CURRENCY_CODE,
6684             TXN_RAW_COST,
6685             TXN_BRDN_COST,
6686             EOU_RAW_COST ,
6687             EOU_BRDN_COST,
6688             GG1_RAW_COST,
6689             GG1_BRDN_COST  ,
6690             GP1_RAW_COST,
6691             GP1_BRDN_COST ,
6692             GG2_RAW_COST ,
6693             GG2_BRDN_COST ,
6694             GP2_RAW_COST ,
6695             GP2_BRDN_COST  ,
6696             PO_LINE_ID ,
6697             RESOURCE_CLASS_CODE ,
6698             ASSIGNMENT_ID
6699           )
6700           select /*+ ordered
6701                      full(tmp2)    use_hash(tmp2)     parallel(tmp2)
6702                      full(invert)  use_hash(invert)   swap_join_inputs(invert) *
6703             p_worker_id                                 WORKER_ID,
6704             PJI_PROJECT_RECORD_FLAG,
6705             PJI_RESOURCE_RECORD_FLAG,
6706             PROJECT_ID,
6707             PROJECT_ORG_ID,
6708             PROJECT_ORGANIZATION_ID,
6709             PERSON_ID,
6710             EXPENDITURE_ORG_ID,
6711             EXPENDITURE_ORGANIZATION_ID,
6712             WORK_TYPE_ID,
6713             JOB_ID,
6714             PRVDR_GL_TIME_ID,
6715             RECVR_GL_TIME_ID ,
6716             PRVDR_PA_TIME_ID ,
6717             RECVR_PA_TIME_ID ,
6718             PRJ_RAW_COST,
6719             PRJ_BRDN_COST ,
6720             POU_RAW_COST,
6721             POU_BRDN_COST,
6722             GG_RAW_COST ,
6723             GG_BRDN_COST ,
6724             GP_RAW_COST ,
6725             GP_BRDN_COST ,
6726             EXPENDITURE_ITEM_TIME_ID ,
6727             EXP_EVT_TYPE_ID,
6728             PROJECT_TYPE_CLASS  ,
6729             PJ_GL_CALENDAR_ID ,
6730             PJ_PA_CALENDAR_ID,
6731             RS_GL_CALENDAR_ID,
6732             RS_PA_CALENDAR_ID ,
6733             RECORD_TYPE  ,
6734             CMT_RECORD_TYPE ,
6735             TASK_ID,
6736             VENDOR_ID   ,
6737             EXPENDITURE_TYPE,
6738             EVENT_TYPE,
6739             EVENT_TYPE_CLASSIFICATION,
6740             EXPENDITURE_CATEGORY,
6741             REVENUE_CATEGORY ,
6742             NON_LABOR_RESOURCE  ,
6743             BOM_LABOR_RESOURCE_ID  ,
6744             BOM_EQUIPMENT_RESOURCE_ID,
6745             INVENTORY_ITEM_ID   ,
6746             SYSTEM_LINKAGE_FUNCTION  ,
6747             GL_PERIOD_NAME  ,
6748             PA_PERIOD_NAME ,
6749             TXN_CURRENCY_CODE,
6750             TXN_RAW_COST,
6751             TXN_BRDN_COST,
6752             EOU_RAW_COST ,
6753             EOU_BRDN_COST,
6754             GG1_RAW_COST,
6755             GG1_BRDN_COST  ,
6756             GP1_RAW_COST,
6757             GP1_BRDN_COST ,
6758             GG2_RAW_COST ,
6759             GG2_BRDN_COST ,
6760             GP2_RAW_COST ,
6761             GP2_BRDN_COST  ,
6762             PO_LINE_ID ,
6763             RESOURCE_CLASS_CODE ,
6764             ASSIGNMENT_ID
6765           from
6766             PJI_FM_AGGR_FIN2 tmp2
6767           where
6768             tmp2.WORKER_ID = p_worker_id and
6769             tmp2.PJI_PROJECT_RECORD_FLAG = 'Y' and
6770             tmp2.RECORD_TYPE = 'M';
6771 
6772     end if;
6773     /* Added for bug 9249905
6774     Commented for bug 13011859 */
6775 
6776     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.AGGREGATE_FIN_SLICES(p_worker_id);');
6777 
6778     commit;
6779 
6780   end AGGREGATE_FIN_SLICES;
6781 
6782 
6783   -- -----------------------------------------------------
6784   -- procedure AGGREGATE_ACT_SLICES
6785   -- -----------------------------------------------------
6786   procedure AGGREGATE_ACT_SLICES (p_worker_id in number) is
6787 
6788     l_process          varchar2(30);
6789     l_extraction_type  varchar2(30);
6790     l_pa_calendar_flag varchar2(1);
6791     l_schema           varchar2(30);
6792 
6793   begin
6794 
6795     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
6796 
6797     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.AGGREGATE_ACT_SLICES(p_worker_id);')) then
6798       return;
6799     end if;
6800 
6801     l_pa_calendar_flag := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
6802     (
6803       PJI_FM_SUM_MAIN.g_process,
6804       'PA_CALENDAR_FLAG'
6805     );
6806 
6807     l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
6808 
6809 /*    if (l_extraction_type = 'PARTIAL') then
6810 
6811       delete
6812       from   PJI_FM_AGGR_ACT5
6813       where  PROJECT_ID in (select PROJECT_ID
6814                             from   PJI_FM_PROJ_BATCH_MAP
6815                             where  WORKER_ID = p_worker_id);
6816 
6817     elsif (l_extraction_type = 'INCREMENTAL') then
6818 
6819       -- clean up snapshots and activities
6820 
6821       update PJI_FM_AGGR_ACT5 act5
6822       set    act5.TXN_AR_INVOICE_AMOUNT          = to_number(null),
6823              act5.TXN_AR_CASH_APPLIED_AMOUNT     = to_number(null),
6824              act5.TXN_AR_INVOICE_WRITEOFF_AMOUNT = to_number(null),
6825              act5.TXN_AR_CREDIT_MEMO_AMOUNT      = to_number(null),
6826              act5.TXN_AR_UNAPPR_INVOICE_AMOUNT   = to_number(null),
6827              act5.TXN_AR_APPR_INVOICE_AMOUNT     = to_number(null),
6828              act5.TXN_AR_AMOUNT_DUE              = to_number(null),
6829              act5.TXN_AR_AMOUNT_OVERDUE          = to_number(null),
6830              act5.PRJ_AR_INVOICE_AMOUNT          = to_number(null),
6831              act5.PRJ_AR_CASH_APPLIED_AMOUNT     = to_number(null),
6832              act5.PRJ_AR_INVOICE_WRITEOFF_AMOUNT = to_number(null),
6833              act5.PRJ_AR_CREDIT_MEMO_AMOUNT      = to_number(null),
6834              act5.PRJ_AR_UNAPPR_INVOICE_AMOUNT   = to_number(null),
6835              act5.PRJ_AR_APPR_INVOICE_AMOUNT     = to_number(null),
6836              act5.PRJ_AR_AMOUNT_DUE              = to_number(null),
6837              act5.PRJ_AR_AMOUNT_OVERDUE          = to_number(null),
6838              act5.POU_AR_INVOICE_AMOUNT          = to_number(null),
6839              act5.POU_AR_CASH_APPLIED_AMOUNT     = to_number(null),
6840              act5.POU_AR_INVOICE_WRITEOFF_AMOUNT = to_number(null),
6841              act5.POU_AR_CREDIT_MEMO_AMOUNT      = to_number(null),
6842              act5.POU_AR_UNAPPR_INVOICE_AMOUNT   = to_number(null),
6843              act5.POU_AR_APPR_INVOICE_AMOUNT     = to_number(null),
6844              act5.POU_AR_AMOUNT_DUE              = to_number(null),
6845              act5.POU_AR_AMOUNT_OVERDUE          = to_number(null),
6846              act5.AR_INVOICE_COUNT               = to_number(null),
6847              act5.AR_INVOICE_WRITEOFF_COUNT      = to_number(null),
6848              act5.AR_CREDIT_MEMO_COUNT           = to_number(null),
6849              act5.AR_UNAPPR_INVOICE_COUNT        = to_number(null),
6850              act5.AR_APPR_INVOICE_COUNT          = to_number(null),
6851              act5.AR_COUNT_DUE                   = to_number(null),
6852              act5.AR_COUNT_OVERDUE               = to_number(null),
6853              act5.G1_AR_INVOICE_AMOUNT           = to_number(null),
6854              act5.G1_AR_CASH_APPLIED_AMOUNT      = to_number(null),
6855              act5.G1_AR_INVOICE_WRITEOFF_AMOUNT  = to_number(null),
6856              act5.G1_AR_CREDIT_MEMO_AMOUNT       = to_number(null),
6857              act5.G1_AR_UNAPPR_INVOICE_AMOUNT    = to_number(null),
6858              act5.G1_AR_APPR_INVOICE_AMOUNT      = to_number(null),
6859              act5.G1_AR_AMOUNT_DUE               = to_number(null),
6860              act5.G1_AR_AMOUNT_OVERDUE           = to_number(null),
6861              act5.G2_AR_INVOICE_AMOUNT           = to_number(null),
6862              act5.G2_AR_CASH_APPLIED_AMOUNT      = to_number(null),
6863              act5.G2_AR_INVOICE_WRITEOFF_AMOUNT  = to_number(null),
6864              act5.G2_AR_CREDIT_MEMO_AMOUNT       = to_number(null),
6865              act5.G2_AR_UNAPPR_INVOICE_AMOUNT    = to_number(null),
6866              act5.G2_AR_APPR_INVOICE_AMOUNT      = to_number(null),
6867              act5.G2_AR_AMOUNT_DUE               = to_number(null),
6868              act5.G2_AR_AMOUNT_OVERDUE           = to_number(null)
6869       where  act5.PROJECT_ID in (select map.PROJECT_ID
6870                                  from   PJI_FM_PROJ_BATCH_MAP map
6871                                  where  map.WORKER_ID = p_worker_id) and
6872              not (nvl(act5.TXN_AR_INVOICE_AMOUNT          , 0) = 0 and
6873                   nvl(act5.TXN_AR_CASH_APPLIED_AMOUNT     , 0) = 0 and
6874                   nvl(act5.TXN_AR_INVOICE_WRITEOFF_AMOUNT , 0) = 0 and
6875                   nvl(act5.TXN_AR_CREDIT_MEMO_AMOUNT      , 0) = 0 and
6876                   nvl(act5.TXN_AR_UNAPPR_INVOICE_AMOUNT   , 0) = 0 and
6877                   nvl(act5.TXN_AR_APPR_INVOICE_AMOUNT     , 0) = 0 and
6878                   nvl(act5.TXN_AR_AMOUNT_DUE              , 0) = 0 and
6879                   nvl(act5.TXN_AR_AMOUNT_OVERDUE          , 0) = 0 and
6880                   nvl(act5.PRJ_AR_INVOICE_AMOUNT          , 0) = 0 and
6881                   nvl(act5.PRJ_AR_CASH_APPLIED_AMOUNT     , 0) = 0 and
6882                   nvl(act5.PRJ_AR_INVOICE_WRITEOFF_AMOUNT , 0) = 0 and
6883                   nvl(act5.PRJ_AR_CREDIT_MEMO_AMOUNT      , 0) = 0 and
6884                   nvl(act5.PRJ_AR_UNAPPR_INVOICE_AMOUNT   , 0) = 0 and
6885                   nvl(act5.PRJ_AR_APPR_INVOICE_AMOUNT     , 0) = 0 and
6886                   nvl(act5.PRJ_AR_AMOUNT_DUE              , 0) = 0 and
6887                   nvl(act5.PRJ_AR_AMOUNT_OVERDUE          , 0) = 0 and
6888                   nvl(act5.POU_AR_INVOICE_AMOUNT          , 0) = 0 and
6889                   nvl(act5.POU_AR_CASH_APPLIED_AMOUNT     , 0) = 0 and
6890                   nvl(act5.POU_AR_INVOICE_WRITEOFF_AMOUNT , 0) = 0 and
6891                   nvl(act5.POU_AR_CREDIT_MEMO_AMOUNT      , 0) = 0 and
6892                   nvl(act5.POU_AR_UNAPPR_INVOICE_AMOUNT   , 0) = 0 and
6893                   nvl(act5.POU_AR_APPR_INVOICE_AMOUNT     , 0) = 0 and
6894                   nvl(act5.POU_AR_AMOUNT_DUE              , 0) = 0 and
6895                   nvl(act5.POU_AR_AMOUNT_OVERDUE          , 0) = 0 and
6896                   nvl(act5.AR_INVOICE_COUNT               , 0) = 0 and
6897                   nvl(act5.AR_INVOICE_WRITEOFF_COUNT      , 0) = 0 and
6898                   nvl(act5.AR_CREDIT_MEMO_COUNT           , 0) = 0 and
6899                   nvl(act5.AR_UNAPPR_INVOICE_COUNT        , 0) = 0 and
6900                   nvl(act5.AR_APPR_INVOICE_COUNT          , 0) = 0 and
6901                   nvl(act5.AR_COUNT_DUE                   , 0) = 0 and
6902                   nvl(act5.AR_COUNT_OVERDUE               , 0) = 0 and
6903                   nvl(act5.G1_AR_INVOICE_AMOUNT           , 0) = 0 and
6904                   nvl(act5.G1_AR_CASH_APPLIED_AMOUNT      , 0) = 0 and
6905                   nvl(act5.G1_AR_INVOICE_WRITEOFF_AMOUNT  , 0) = 0 and
6906                   nvl(act5.G1_AR_CREDIT_MEMO_AMOUNT       , 0) = 0 and
6907                   nvl(act5.G1_AR_UNAPPR_INVOICE_AMOUNT    , 0) = 0 and
6908                   nvl(act5.G1_AR_APPR_INVOICE_AMOUNT      , 0) = 0 and
6909                   nvl(act5.G1_AR_AMOUNT_DUE               , 0) = 0 and
6910                   nvl(act5.G1_AR_AMOUNT_OVERDUE           , 0) = 0 and
6911                   nvl(act5.G2_AR_INVOICE_AMOUNT           , 0) = 0 and
6912                   nvl(act5.G2_AR_CASH_APPLIED_AMOUNT      , 0) = 0 and
6913                   nvl(act5.G2_AR_INVOICE_WRITEOFF_AMOUNT  , 0) = 0 and
6914                   nvl(act5.G2_AR_CREDIT_MEMO_AMOUNT       , 0) = 0 and
6915                   nvl(act5.G2_AR_UNAPPR_INVOICE_AMOUNT    , 0) = 0 and
6916                   nvl(act5.G2_AR_APPR_INVOICE_AMOUNT      , 0) = 0 and
6917                   nvl(act5.G2_AR_AMOUNT_DUE               , 0) = 0 and
6918                   nvl(act5.G2_AR_AMOUNT_OVERDUE           , 0) = 0);
6919 
6920       delete
6921       from   PJI_FM_AGGR_ACT5 act5
6922       where  act5.PROJECT_ID in (select map.PROJECT_ID
6923                                  from   PJI_FM_PROJ_BATCH_MAP map
6924                                  where  map.WORKER_ID = p_worker_id) and
6925              nvl(act5.TXN_REVENUE                    , 0) = 0 and
6926              nvl(act5.TXN_FUNDING                    , 0) = 0 and
6927              nvl(act5.TXN_INITIAL_FUNDING_AMOUNT     , 0) = 0 and
6928              nvl(act5.TXN_ADDITIONAL_FUNDING_AMOUNT  , 0) = 0 and
6929              nvl(act5.TXN_CANCELLED_FUNDING_AMOUNT   , 0) = 0 and
6930              nvl(act5.TXN_FUNDING_ADJUSTMENT_AMOUNT  , 0) = 0 and
6931              nvl(act5.TXN_REVENUE_WRITEOFF           , 0) = 0 and
6932              nvl(act5.TXN_AR_INVOICE_AMOUNT          , 0) = 0 and
6933              nvl(act5.TXN_AR_CASH_APPLIED_AMOUNT     , 0) = 0 and
6934              nvl(act5.TXN_AR_INVOICE_WRITEOFF_AMOUNT , 0) = 0 and
6935              nvl(act5.TXN_AR_CREDIT_MEMO_AMOUNT      , 0) = 0 and
6936              nvl(act5.TXN_UNBILLED_RECEIVABLES       , 0) = 0 and
6937              nvl(act5.TXN_UNEARNED_REVENUE           , 0) = 0 and
6938              nvl(act5.TXN_AR_UNAPPR_INVOICE_AMOUNT   , 0) = 0 and
6939              nvl(act5.TXN_AR_APPR_INVOICE_AMOUNT     , 0) = 0 and
6940              nvl(act5.TXN_AR_AMOUNT_DUE              , 0) = 0 and
6941              nvl(act5.TXN_AR_AMOUNT_OVERDUE          , 0) = 0 and
6942              nvl(act5.PRJ_REVENUE                    , 0) = 0 and
6943              nvl(act5.PRJ_FUNDING                    , 0) = 0 and
6944              nvl(act5.PRJ_INITIAL_FUNDING_AMOUNT     , 0) = 0 and
6945              nvl(act5.PRJ_ADDITIONAL_FUNDING_AMOUNT  , 0) = 0 and
6946              nvl(act5.PRJ_CANCELLED_FUNDING_AMOUNT   , 0) = 0 and
6947              nvl(act5.PRJ_FUNDING_ADJUSTMENT_AMOUNT  , 0) = 0 and
6948              nvl(act5.PRJ_REVENUE_WRITEOFF           , 0) = 0 and
6949              nvl(act5.PRJ_AR_INVOICE_AMOUNT          , 0) = 0 and
6950              nvl(act5.PRJ_AR_CASH_APPLIED_AMOUNT     , 0) = 0 and
6951              nvl(act5.PRJ_AR_INVOICE_WRITEOFF_AMOUNT , 0) = 0 and
6952              nvl(act5.PRJ_AR_CREDIT_MEMO_AMOUNT      , 0) = 0 and
6953              nvl(act5.PRJ_UNBILLED_RECEIVABLES       , 0) = 0 and
6954              nvl(act5.PRJ_UNEARNED_REVENUE           , 0) = 0 and
6955              nvl(act5.PRJ_AR_UNAPPR_INVOICE_AMOUNT   , 0) = 0 and
6956              nvl(act5.PRJ_AR_APPR_INVOICE_AMOUNT     , 0) = 0 and
6957              nvl(act5.PRJ_AR_AMOUNT_DUE              , 0) = 0 and
6958              nvl(act5.PRJ_AR_AMOUNT_OVERDUE          , 0) = 0 and
6959              nvl(act5.POU_REVENUE                    , 0) = 0 and
6960              nvl(act5.POU_FUNDING                    , 0) = 0 and
6961              nvl(act5.POU_INITIAL_FUNDING_AMOUNT     , 0) = 0 and
6962              nvl(act5.POU_ADDITIONAL_FUNDING_AMOUNT  , 0) = 0 and
6963              nvl(act5.POU_CANCELLED_FUNDING_AMOUNT   , 0) = 0 and
6964              nvl(act5.POU_FUNDING_ADJUSTMENT_AMOUNT  , 0) = 0 and
6965              nvl(act5.POU_REVENUE_WRITEOFF           , 0) = 0 and
6966              nvl(act5.POU_AR_INVOICE_AMOUNT          , 0) = 0 and
6967              nvl(act5.POU_AR_CASH_APPLIED_AMOUNT     , 0) = 0 and
6968              nvl(act5.POU_AR_INVOICE_WRITEOFF_AMOUNT , 0) = 0 and
6969              nvl(act5.POU_AR_CREDIT_MEMO_AMOUNT      , 0) = 0 and
6970              nvl(act5.POU_UNBILLED_RECEIVABLES       , 0) = 0 and
6971              nvl(act5.POU_UNEARNED_REVENUE           , 0) = 0 and
6972              nvl(act5.POU_AR_UNAPPR_INVOICE_AMOUNT   , 0) = 0 and
6973              nvl(act5.POU_AR_APPR_INVOICE_AMOUNT     , 0) = 0 and
6974              nvl(act5.POU_AR_AMOUNT_DUE              , 0) = 0 and
6975              nvl(act5.POU_AR_AMOUNT_OVERDUE          , 0) = 0 and
6976              nvl(act5.INITIAL_FUNDING_COUNT          , 0) = 0 and
6977              nvl(act5.ADDITIONAL_FUNDING_COUNT       , 0) = 0 and
6978              nvl(act5.CANCELLED_FUNDING_COUNT        , 0) = 0 and
6979              nvl(act5.FUNDING_ADJUSTMENT_COUNT       , 0) = 0 and
6980              nvl(act5.AR_INVOICE_COUNT               , 0) = 0 and
6981              nvl(act5.AR_CASH_APPLIED_COUNT          , 0) = 0 and
6982              nvl(act5.AR_INVOICE_WRITEOFF_COUNT      , 0) = 0 and
6983              nvl(act5.AR_CREDIT_MEMO_COUNT           , 0) = 0 and
6984              nvl(act5.AR_UNAPPR_INVOICE_COUNT        , 0) = 0 and
6985              nvl(act5.AR_APPR_INVOICE_COUNT          , 0) = 0 and
6986              nvl(act5.AR_COUNT_DUE                   , 0) = 0 and
6987              nvl(act5.AR_COUNT_OVERDUE               , 0) = 0 and
6988              nvl(act5.G1_REVENUE                     , 0) = 0 and
6989              nvl(act5.G1_FUNDING                     , 0) = 0 and
6990              nvl(act5.G1_INITIAL_FUNDING_AMOUNT      , 0) = 0 and
6991              nvl(act5.G1_ADDITIONAL_FUNDING_AMOUNT   , 0) = 0 and
6992              nvl(act5.G1_CANCELLED_FUNDING_AMOUNT    , 0) = 0 and
6993              nvl(act5.G1_FUNDING_ADJUSTMENT_AMOUNT   , 0) = 0 and
6994              nvl(act5.G1_REVENUE_WRITEOFF            , 0) = 0 and
6995              nvl(act5.G1_AR_INVOICE_AMOUNT           , 0) = 0 and
6996              nvl(act5.G1_AR_CASH_APPLIED_AMOUNT      , 0) = 0 and
6997              nvl(act5.G1_AR_INVOICE_WRITEOFF_AMOUNT  , 0) = 0 and
6998              nvl(act5.G1_AR_CREDIT_MEMO_AMOUNT       , 0) = 0 and
6999              nvl(act5.G1_UNBILLED_RECEIVABLES        , 0) = 0 and
7000              nvl(act5.G1_UNEARNED_REVENUE            , 0) = 0 and
7001              nvl(act5.G1_AR_UNAPPR_INVOICE_AMOUNT    , 0) = 0 and
7002              nvl(act5.G1_AR_APPR_INVOICE_AMOUNT      , 0) = 0 and
7003              nvl(act5.G1_AR_AMOUNT_DUE               , 0) = 0 and
7004              nvl(act5.G1_AR_AMOUNT_OVERDUE           , 0) = 0 and
7005              nvl(act5.G2_REVENUE                     , 0) = 0 and
7006              nvl(act5.G2_FUNDING                     , 0) = 0 and
7007              nvl(act5.G2_INITIAL_FUNDING_AMOUNT      , 0) = 0 and
7008              nvl(act5.G2_ADDITIONAL_FUNDING_AMOUNT   , 0) = 0 and
7009              nvl(act5.G2_CANCELLED_FUNDING_AMOUNT    , 0) = 0 and
7010              nvl(act5.G2_FUNDING_ADJUSTMENT_AMOUNT   , 0) = 0 and
7011              nvl(act5.G2_REVENUE_WRITEOFF            , 0) = 0 and
7012              nvl(act5.G2_AR_INVOICE_AMOUNT           , 0) = 0 and
7013              nvl(act5.G2_AR_CASH_APPLIED_AMOUNT      , 0) = 0 and
7014              nvl(act5.G2_AR_INVOICE_WRITEOFF_AMOUNT  , 0) = 0 and
7015              nvl(act5.G2_AR_CREDIT_MEMO_AMOUNT       , 0) = 0 and
7016              nvl(act5.G2_UNBILLED_RECEIVABLES        , 0) = 0 and
7017              nvl(act5.G2_UNEARNED_REVENUE            , 0) = 0 and
7018              nvl(act5.G2_AR_UNAPPR_INVOICE_AMOUNT    , 0) = 0 and
7019              nvl(act5.G2_AR_APPR_INVOICE_AMOUNT      , 0) = 0 and
7020              nvl(act5.G2_AR_AMOUNT_DUE               , 0) = 0 and
7021              nvl(act5.G2_AR_AMOUNT_OVERDUE           , 0) = 0;
7022 
7023     end if;
7024 
7025     insert into PJI_FM_AGGR_ACT5
7026     (
7027       WORKER_ID,
7028       PROJECT_ID,
7029       PROJECT_ORG_ID,
7030       PROJECT_ORGANIZATION_ID,
7031       TIME_ID,
7032       CALENDAR_TYPE,
7033       GL_CALENDAR_ID,
7034       PA_CALENDAR_ID,
7035       TXN_CURRENCY_CODE,
7036       TXN_REVENUE,
7037       TXN_FUNDING,
7038       TXN_INITIAL_FUNDING_AMOUNT,
7039       TXN_ADDITIONAL_FUNDING_AMOUNT,
7040       TXN_CANCELLED_FUNDING_AMOUNT,
7041       TXN_FUNDING_ADJUSTMENT_AMOUNT,
7042       TXN_REVENUE_WRITEOFF,
7043       TXN_AR_INVOICE_AMOUNT,
7044       TXN_AR_CASH_APPLIED_AMOUNT,
7045       TXN_AR_INVOICE_WRITEOFF_AMOUNT,
7046       TXN_AR_CREDIT_MEMO_AMOUNT,
7047       TXN_UNBILLED_RECEIVABLES,
7048       TXN_UNEARNED_REVENUE,
7049       TXN_AR_UNAPPR_INVOICE_AMOUNT,
7050       TXN_AR_APPR_INVOICE_AMOUNT,
7051       TXN_AR_AMOUNT_DUE,
7052       TXN_AR_AMOUNT_OVERDUE,
7053       PRJ_REVENUE,
7054       PRJ_FUNDING,
7055       PRJ_INITIAL_FUNDING_AMOUNT,
7056       PRJ_ADDITIONAL_FUNDING_AMOUNT,
7057       PRJ_CANCELLED_FUNDING_AMOUNT,
7058       PRJ_FUNDING_ADJUSTMENT_AMOUNT,
7059       PRJ_REVENUE_WRITEOFF,
7060       PRJ_AR_INVOICE_AMOUNT,
7061       PRJ_AR_CASH_APPLIED_AMOUNT,
7062       PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
7063       PRJ_AR_CREDIT_MEMO_AMOUNT,
7064       PRJ_UNBILLED_RECEIVABLES,
7065       PRJ_UNEARNED_REVENUE,
7066       PRJ_AR_UNAPPR_INVOICE_AMOUNT,
7067       PRJ_AR_APPR_INVOICE_AMOUNT,
7068       PRJ_AR_AMOUNT_DUE,
7069       PRJ_AR_AMOUNT_OVERDUE,
7070       POU_REVENUE,
7071       POU_FUNDING,
7072       POU_INITIAL_FUNDING_AMOUNT,
7073       POU_ADDITIONAL_FUNDING_AMOUNT,
7074       POU_CANCELLED_FUNDING_AMOUNT,
7075       POU_FUNDING_ADJUSTMENT_AMOUNT,
7076       POU_REVENUE_WRITEOFF,
7077       POU_AR_INVOICE_AMOUNT,
7078       POU_AR_CASH_APPLIED_AMOUNT,
7079       POU_AR_INVOICE_WRITEOFF_AMOUNT,
7080       POU_AR_CREDIT_MEMO_AMOUNT,
7081       POU_UNBILLED_RECEIVABLES,
7082       POU_UNEARNED_REVENUE,
7083       POU_AR_UNAPPR_INVOICE_AMOUNT,
7084       POU_AR_APPR_INVOICE_AMOUNT,
7085       POU_AR_AMOUNT_DUE,
7086       POU_AR_AMOUNT_OVERDUE,
7087       INITIAL_FUNDING_COUNT,
7088       ADDITIONAL_FUNDING_COUNT,
7089       CANCELLED_FUNDING_COUNT,
7090       FUNDING_ADJUSTMENT_COUNT,
7091       AR_INVOICE_COUNT,
7092       AR_CASH_APPLIED_COUNT,
7093       AR_INVOICE_WRITEOFF_COUNT,
7094       AR_CREDIT_MEMO_COUNT,
7095       AR_UNAPPR_INVOICE_COUNT,
7096       AR_APPR_INVOICE_COUNT,
7097       AR_COUNT_DUE,
7098       AR_COUNT_OVERDUE,
7099       G1_REVENUE,
7100       G1_FUNDING,
7101       G1_INITIAL_FUNDING_AMOUNT,
7102       G1_ADDITIONAL_FUNDING_AMOUNT,
7103       G1_CANCELLED_FUNDING_AMOUNT,
7104       G1_FUNDING_ADJUSTMENT_AMOUNT,
7105       G1_REVENUE_WRITEOFF,
7106       G1_AR_INVOICE_AMOUNT,
7107       G1_AR_CASH_APPLIED_AMOUNT,
7108       G1_AR_INVOICE_WRITEOFF_AMOUNT,
7109       G1_AR_CREDIT_MEMO_AMOUNT,
7110       G1_UNBILLED_RECEIVABLES,
7111       G1_UNEARNED_REVENUE,
7112       G1_AR_UNAPPR_INVOICE_AMOUNT,
7113       G1_AR_APPR_INVOICE_AMOUNT,
7114       G1_AR_AMOUNT_DUE,
7115       G1_AR_AMOUNT_OVERDUE,
7116       G2_REVENUE,
7117       G2_FUNDING,
7118       G2_INITIAL_FUNDING_AMOUNT,
7119       G2_ADDITIONAL_FUNDING_AMOUNT,
7120       G2_CANCELLED_FUNDING_AMOUNT,
7121       G2_FUNDING_ADJUSTMENT_AMOUNT,
7122       G2_REVENUE_WRITEOFF,
7123       G2_AR_INVOICE_AMOUNT,
7124       G2_AR_CASH_APPLIED_AMOUNT,
7125       G2_AR_INVOICE_WRITEOFF_AMOUNT,
7126       G2_AR_CREDIT_MEMO_AMOUNT,
7127       G2_UNBILLED_RECEIVABLES,
7128       G2_UNEARNED_REVENUE,
7129       G2_AR_UNAPPR_INVOICE_AMOUNT,
7130       G2_AR_APPR_INVOICE_AMOUNT,
7131       G2_AR_AMOUNT_DUE,
7132       G2_AR_AMOUNT_OVERDUE
7133     )
7134     select  /*+ ordered
7135                 full(tmp2)   use_hash(tmp2)   parallel(tmp2)
7136                 full(invert) use_hash(invert) swap_join_inputs(invert) *
7137       p_worker_id                               WORKER_ID,
7138       tmp2.PROJECT_ID,
7139       tmp2.PROJECT_ORG_ID,
7140       tmp2.PROJECT_ORGANIZATION_ID,
7141       decode(invert.INVERT_ID,
7142              'GL', tmp2.GL_TIME_ID,
7143              'PA', tmp2.PA_TIME_ID)             TIME_ID,
7144       decode(invert.INVERT_ID,
7145              'GL', 'C',
7146              'PA', 'P')                         CALENDAR_TYPE,
7147       tmp2.GL_CALENDAR_ID,
7148       tmp2.PA_CALENDAR_ID,
7149       null                                      TXN_CURRENCY_CODE,
7150       to_number(null)                           TXN_REVENUE,
7151       to_number(null)                           TXN_FUNDING,
7152       to_number(null)                           TXN_INITIAL_FUNDING_AMOUNT,
7153       to_number(null)                           TXN_ADDITIONAL_FUNDING_AMOUNT,
7154       to_number(null)                           TXN_CANCELLED_FUNDING_AMOUNT,
7155       to_number(null)                           TXN_FUNDING_ADJUSTMENT_AMOUNT,
7156       to_number(null)                           TXN_REVENUE_WRITEOFF,
7157       to_number(null)                           TXN_AR_INVOICE_AMOUNT,
7158       to_number(null)                           TXN_AR_CASH_APPLIED_AMOUNT,
7159       to_number(null)                           TXN_AR_INVOICE_WRITEOFF_AMOUNT,
7160       to_number(null)                           TXN_AR_CREDIT_MEMO_AMOUNT,
7161       to_number(null)                           TXN_UNBILLED_RECEIVABLES,
7162       to_number(null)                           TXN_UNEARNED_REVENUE,
7163       to_number(null)                           TXN_AR_UNAPPR_INVOICE_AMOUNT,
7164       to_number(null)                           TXN_AR_APPR_INVOICE_AMOUNT,
7165       to_number(null)                           TXN_AR_AMOUNT_DUE,
7166       to_number(null)                           TXN_AR_AMOUNT_OVERDUE,
7167       sum(tmp2.PRJ_REVENUE)                     PRJ_REVENUE,
7168       sum(tmp2.PRJ_FUNDING)                     PRJ_FUNDING,
7169       sum(tmp2.PRJ_INITIAL_FUNDING_AMOUNT)      PRJ_INITIAL_FUNDING_AMOUNT,
7170       sum(tmp2.PRJ_ADDITIONAL_FUNDING_AMOUNT)   PRJ_ADDITIONAL_FUNDING_AMOUNT,
7171       sum(tmp2.PRJ_CANCELLED_FUNDING_AMOUNT)    PRJ_CANCELLED_FUNDING_AMOUNT,
7172       sum(tmp2.PRJ_FUNDING_ADJUSTMENT_AMOUNT)   PRJ_FUNDING_ADJUSTMENT_AMOUNT,
7173       sum(tmp2.PRJ_REVENUE_WRITEOFF)            PRJ_REVENUE_WRITEOFF,
7174       sum(tmp2.PRJ_AR_INVOICE_AMOUNT)           PRJ_AR_INVOICE_AMOUNT,
7175       sum(tmp2.PRJ_AR_CASH_APPLIED_AMOUNT)      PRJ_AR_CASH_APPLIED_AMOUNT,
7176       sum(tmp2.PRJ_AR_INVOICE_WRITEOFF_AMOUNT)  PRJ_AR_INVOICE_WRITEOFF_AMOUNT,
7177       sum(tmp2.PRJ_AR_CREDIT_MEMO_AMOUNT)       PRJ_AR_CREDIT_MEMO_AMOUNT,
7178       sum(tmp2.PRJ_UNBILLED_RECEIVABLES)        PRJ_UNBILLED_RECEIVABLES,
7179       sum(tmp2.PRJ_UNEARNED_REVENUE)            PRJ_UNEARNED_REVENUE,
7180       sum(tmp2.PRJ_AR_UNAPPR_INVOICE_AMOUNT)    PRJ_AR_UNAPPR_INVOICE_AMOUNT,
7181       sum(tmp2.PRJ_AR_APPR_INVOICE_AMOUNT)      PRJ_AR_APPR_INVOICE_AMOUNT,
7182       sum(tmp2.PRJ_AR_AMOUNT_DUE)               PRJ_AR_AMOUNT_DUE,
7183       sum(tmp2.PRJ_AR_AMOUNT_OVERDUE)           PRJ_AR_AMOUNT_OVERDUE,
7184       sum(tmp2.POU_REVENUE)                     POU_REVENUE,
7185       sum(tmp2.POU_FUNDING)                     POU_FUNDING,
7186       sum(tmp2.POU_INITIAL_FUNDING_AMOUNT)      POU_INITIAL_FUNDING_AMOUNT,
7187       sum(tmp2.POU_ADDITIONAL_FUNDING_AMOUNT)   POU_ADDITIONAL_FUNDING_AMOUNT,
7188       sum(tmp2.POU_CANCELLED_FUNDING_AMOUNT)    POU_CANCELLED_FUNDING_AMOUNT,
7189       sum(tmp2.POU_FUNDING_ADJUSTMENT_AMOUNT)   POU_FUNDING_ADJUSTMENT_AMOUNT,
7190       sum(tmp2.POU_REVENUE_WRITEOFF)            POU_REVENUE_WRITEOFF,
7191       sum(tmp2.POU_AR_INVOICE_AMOUNT)           POU_AR_INVOICE_AMOUNT,
7192       sum(tmp2.POU_AR_CASH_APPLIED_AMOUNT)      POU_AR_CASH_APPLIED_AMOUNT,
7193       sum(tmp2.POU_AR_INVOICE_WRITEOFF_AMOUNT)  POU_AR_INVOICE_WRITEOFF_AMOUNT,
7194       sum(tmp2.POU_AR_CREDIT_MEMO_AMOUNT)       POU_AR_CREDIT_MEMO_AMOUNT,
7195       sum(tmp2.POU_UNBILLED_RECEIVABLES)        POU_UNBILLED_RECEIVABLES,
7196       sum(tmp2.POU_UNEARNED_REVENUE)            POU_UNEARNED_REVENUE,
7197       sum(tmp2.POU_AR_UNAPPR_INVOICE_AMOUNT)    POU_AR_UNAPPR_INVOICE_AMOUNT,
7198       sum(tmp2.POU_AR_APPR_INVOICE_AMOUNT)      POU_AR_APPR_INVOICE_AMOUNT,
7199       sum(tmp2.POU_AR_AMOUNT_DUE)               POU_AR_AMOUNT_DUE,
7200       sum(tmp2.POU_AR_AMOUNT_OVERDUE)           POU_AR_AMOUNT_OVERDUE,
7201       sum(tmp2.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
7202       sum(tmp2.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
7203       sum(tmp2.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
7204       sum(tmp2.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
7205       sum(tmp2.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
7206       sum(tmp2.AR_CASH_APPLIED_COUNT)           AR_CASH_APPLIED_COUNT,
7207       sum(tmp2.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
7208       sum(tmp2.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
7209       sum(tmp2.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
7210       sum(tmp2.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
7211       sum(tmp2.AR_COUNT_DUE)                    AR_COUNT_DUE,
7212       sum(tmp2.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
7213       sum(decode(invert.INVERT_ID,
7214                  'GL', tmp2.GG_REVENUE,
7215                  'PA', tmp2.GP_REVENUE))        G1_REVENUE,
7216       sum(decode(invert.INVERT_ID,
7217                  'GL', tmp2.GG_FUNDING,
7218                  'PA', tmp2.GP_FUNDING))        G1_FUNDING,
7219       sum(decode(invert.INVERT_ID,
7220                  'GL', tmp2.GG_INITIAL_FUNDING_AMOUNT,
7221                  'PA', tmp2.GP_INITIAL_FUNDING_AMOUNT))
7222                                                 G1_INITIAL_FUNDING_AMOUNT,
7223       sum(decode(invert.INVERT_ID,
7224                  'GL', tmp2.GG_ADDITIONAL_FUNDING_AMOUNT,
7225                  'PA', tmp2.GP_ADDITIONAL_FUNDING_AMOUNT))
7226                                                 G1_ADDITIONAL_FUNDING_AMOUNT,
7227       sum(decode(invert.INVERT_ID,
7228                  'GL', tmp2.GG_CANCELLED_FUNDING_AMOUNT,
7229                  'PA', tmp2.GP_CANCELLED_FUNDING_AMOUNT))
7230                                                 G1_CANCELLED_FUNDING_AMOUNT,
7231       sum(decode(invert.INVERT_ID,
7232                  'GL', tmp2.GG_FUNDING_ADJUSTMENT_AMOUNT,
7233                  'PA', tmp2.GP_FUNDING_ADJUSTMENT_AMOUNT))
7234                                                 G1_FUNDING_ADJUSTMENT_AMOUNT,
7235       sum(decode(invert.INVERT_ID,
7236                  'GL', tmp2.GG_REVENUE_WRITEOFF,
7237                  'PA', tmp2.GP_REVENUE_WRITEOFF))
7238                                                 G1_REVENUE_WRITEOFF,
7239       sum(decode(invert.INVERT_ID,
7240                  'GL', tmp2.GG_AR_INVOICE_AMOUNT,
7241                  'PA', tmp2.GP_AR_INVOICE_AMOUNT))
7242                                                 G1_AR_INVOICE_AMOUNT,
7243       sum(decode(invert.INVERT_ID,
7244                  'GL', tmp2.GG_AR_CASH_APPLIED_AMOUNT,
7245                  'PA', tmp2.GP_AR_CASH_APPLIED_AMOUNT))
7246                                                 G1_AR_CASH_APPLIED_AMOUNT,
7247       sum(decode(invert.INVERT_ID,
7248                  'GL', tmp2.GG_AR_INVOICE_WRITEOFF_AMOUNT,
7249                  'PA', tmp2.GP_AR_INVOICE_WRITEOFF_AMOUNT))
7250                                                 G1_AR_INVOICE_WRITEOFF_AMOUNT,
7251       sum(decode(invert.INVERT_ID,
7252                  'GL', tmp2.GG_AR_CREDIT_MEMO_AMOUNT,
7253                  'PA', tmp2.GP_AR_CREDIT_MEMO_AMOUNT))
7254                                                 G1_AR_CREDIT_MEMO_AMOUNT,
7255       sum(decode(invert.INVERT_ID,
7256                  'GL', tmp2.GG_UNBILLED_RECEIVABLES,
7257                  'PA', tmp2.GP_UNBILLED_RECEIVABLES))
7258                                                 G1_UNBILLED_RECEIVABLES,
7259       sum(decode(invert.INVERT_ID,
7260                  'GL', tmp2.GG_UNEARNED_REVENUE,
7261                  'PA', tmp2.GP_UNEARNED_REVENUE))
7262                                                 G1_UNEARNED_REVENUE,
7263       sum(decode(invert.INVERT_ID,
7264                  'GL', tmp2.GG_AR_UNAPPR_INVOICE_AMOUNT,
7265                  'PA', tmp2.GP_AR_UNAPPR_INVOICE_AMOUNT))
7266                                                 G1_AR_UNAPPR_INVOICE_AMOUNT,
7267       sum(decode(invert.INVERT_ID,
7268                  'GL', tmp2.GG_AR_APPR_INVOICE_AMOUNT,
7269                  'PA', tmp2.GP_AR_APPR_INVOICE_AMOUNT))
7270                                                 G1_AR_APPR_INVOICE_AMOUNT,
7271       sum(decode(invert.INVERT_ID,
7272                  'GL', tmp2.GG_AR_AMOUNT_DUE,
7273                  'PA', tmp2.GP_AR_AMOUNT_DUE))  G1_AR_AMOUNT_DUE,
7274       sum(decode(invert.INVERT_ID,
7275                  'GL', tmp2.GG_AR_AMOUNT_OVERDUE,
7276                  'PA', tmp2.GP_AR_AMOUNT_OVERDUE))
7277                                                 G1_AR_AMOUNT_OVERDUE,
7278       sum(decode(invert.INVERT_ID,
7279                  'GL', tmp2.GG2_REVENUE,
7280                  'PA', tmp2.GP2_REVENUE))       G2_REVENUE,
7281       sum(decode(invert.INVERT_ID,
7282                  'GL', tmp2.GG2_FUNDING,
7283                  'PA', tmp2.GP2_FUNDING))       G2_FUNDING,
7284       sum(decode(invert.INVERT_ID,
7285                  'GL', tmp2.GG2_INITIAL_FUNDING_AMOUNT,
7286                  'PA', tmp2.GP2_INITIAL_FUNDING_AMOUNT))
7287                                                 G2_INITIAL_FUNDING_AMOUNT,
7288       sum(decode(invert.INVERT_ID,
7289                  'GL', tmp2.GG2_ADDITIONAL_FUNDING_AMOUNT,
7290                  'PA', tmp2.GP2_ADDITIONAL_FUNDING_AMOUNT))
7291                                                 G2_ADDITIONAL_FUNDING_AMOUNT,
7292       sum(decode(invert.INVERT_ID,
7293                  'GL', tmp2.GG2_CANCELLED_FUNDING_AMOUNT,
7294                  'PA', tmp2.GP2_CANCELLED_FUNDING_AMOUNT))
7295                                                 G2_CANCELLED_FUNDING_AMOUNT,
7296       sum(decode(invert.INVERT_ID,
7297                  'GL', tmp2.GG2_FUNDING_ADJUSTMENT_AMOUNT,
7298                  'PA', tmp2.GP2_FUNDING_ADJUSTMENT_AMOUNT))
7299                                                 G2_FUNDING_ADJUSTMENT_AMOUNT,
7300       sum(decode(invert.INVERT_ID,
7301                  'GL', tmp2.GG2_REVENUE_WRITEOFF,
7302                  'PA', tmp2.GP2_REVENUE_WRITEOFF))
7303                                                 G2_REVENUE_WRITEOFF,
7304       sum(decode(invert.INVERT_ID,
7305                  'GL', tmp2.GG2_AR_INVOICE_AMOUNT,
7306                  'PA', tmp2.GP2_AR_INVOICE_AMOUNT))
7307                                                 G2_AR_INVOICE_AMOUNT,
7308       sum(decode(invert.INVERT_ID,
7309                  'GL', tmp2.GG2_AR_CASH_APPLIED_AMOUNT,
7310                  'PA', tmp2.GP2_AR_CASH_APPLIED_AMOUNT))
7311                                                 G2_AR_CASH_APPLIED_AMOUNT,
7312       sum(decode(invert.INVERT_ID,
7313                  'GL', tmp2.GG2_AR_INVOICE_WRITEOFF_AMOUNT,
7314                  'PA', tmp2.GP2_AR_INVOICE_WRITEOFF_AMOUNT))
7315                                                 G2_AR_INVOICE_WRITEOFF_AMOUNT,
7316       sum(decode(invert.INVERT_ID,
7317                  'GL', tmp2.GG2_AR_CREDIT_MEMO_AMOUNT,
7318                  'PA', tmp2.GP2_AR_CREDIT_MEMO_AMOUNT))
7319                                                 G2_AR_CREDIT_MEMO_AMOUNT,
7320       sum(decode(invert.INVERT_ID,
7321                  'GL', tmp2.GG2_UNBILLED_RECEIVABLES,
7322                  'PA', tmp2.GP2_UNBILLED_RECEIVABLES))
7323                                                 G2_UNBILLED_RECEIVABLES,
7324       sum(decode(invert.INVERT_ID,
7325                  'GL', tmp2.GG2_UNEARNED_REVENUE,
7326                  'PA', tmp2.GP2_UNEARNED_REVENUE))
7327                                                 G2_UNEARNED_REVENUE,
7328       sum(decode(invert.INVERT_ID,
7329                  'GL', tmp2.GG2_AR_UNAPPR_INVOICE_AMOUNT,
7330                  'PA', tmp2.GP2_AR_UNAPPR_INVOICE_AMOUNT))
7331                                                 G2_AR_UNAPPR_INVOICE_AMOUNT,
7332       sum(decode(invert.INVERT_ID,
7333                  'GL', tmp2.GG2_AR_APPR_INVOICE_AMOUNT,
7334                  'PA', tmp2.GP2_AR_APPR_INVOICE_AMOUNT))
7335                                                 G2_AR_APPR_INVOICE_AMOUNT,
7336       sum(decode(invert.INVERT_ID,
7337                  'GL', tmp2.GG2_AR_AMOUNT_DUE,
7338                  'PA', tmp2.GP2_AR_AMOUNT_DUE))
7339                                                 G2_AR_AMOUNT_DUE,
7340       sum(decode(invert.INVERT_ID,
7341                  'GL', tmp2.GG2_AR_AMOUNT_OVERDUE,
7342                  'PA', tmp2.GP2_AR_AMOUNT_OVERDUE))
7343                                                 G2_AR_AMOUNT_OVERDUE
7344     from
7345       (
7346         select 'GL' INVERT_ID from DUAL union all
7347         select 'PA' INVERT_ID from DUAL
7348       ) invert,
7349       PJI_FM_AGGR_ACT2 tmp2
7350     where
7351       tmp2.WORKER_ID = p_worker_id
7352     group by
7353       tmp2.PROJECT_ID,
7354       tmp2.PROJECT_ORG_ID,
7355       tmp2.PROJECT_ORGANIZATION_ID,
7356       decode(invert.INVERT_ID,
7357              'GL', tmp2.GL_TIME_ID,
7358              'PA', tmp2.PA_TIME_ID),
7359       decode(invert.INVERT_ID,
7360              'GL', 'C',
7361              'PA', 'P'),
7362       tmp2.GL_CALENDAR_ID,
7363       tmp2.PA_CALENDAR_ID,
7364       tmp2.TXN_CURRENCY_CODE; Commented for bug 13011859*/
7365 
7366     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.AGGREGATE_ACT_SLICES(p_worker_id);');
7367 
7368     -- truncate intermediate tables no longer required
7369   --  l_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
7370   --  PJI_PROCESS_UTIL.TRUNC_INT_TABLE( l_schema , 'PJI_FM_AGGR_ACT2' , 'NORMAL',null);
7371 
7372     commit;
7373 
7374   end AGGREGATE_ACT_SLICES;
7375 
7376 
7377   -- -----------------------------------------------------
7378   -- procedure FORCE_SUBSEQUENT_RUN
7379   -- -----------------------------------------------------
7380   procedure FORCE_SUBSEQUENT_RUN (p_worker_id in number) is
7381 
7382     l_worker_id                   number;
7383     l_process                     varchar2(30);
7384     l_extraction_type             varchar2(15);
7385 
7386     l_newline                     varchar2(10)   := '
7387 ';
7388     l_no_selection                varchar2(50);
7389 
7390     l_organization_tg             varchar2(40);
7391     l_include_sub_org_tg          varchar2(40);
7392     l_project_operating_unit_tg   varchar2(40);
7393     l_from_project_tg             varchar2(40);
7394     l_to_project_tg               varchar2(40);
7395     l_plan_type_tg                varchar2(40);
7396 
7397     l_organization_id             number;
7398     l_include_sub_org_flag        varchar2(50);
7399     l_operating_unit              number;
7400     l_from_project_num            varchar2(50);
7401     l_to_project_num              varchar2(50);
7402     l_plan_type_id                number;
7403 
7404     l_prtl_schedule               varchar2(1);
7405     l_organization                varchar2(50);
7406     l_include_sub_org             varchar2(50);
7407     l_prtl_financial              varchar2(1);
7408     l_project_operating_unit_name varchar2(240);
7409     l_from_project                varchar2(50);
7410     l_to_project                  varchar2(50);
7411     l_plan_type                   varchar2(200);
7412 
7413   begin
7414 
7415     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
7416 
7417     if (not PJI_PROCESS_UTIL.NEED_TO_RUN_STEP(l_process, 'PJI_FM_SUM_EXTR.FORCE_SUBSEQUENT_RUN(p_worker_id);')) then
7418       return;
7419     end if;
7420 
7421     l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
7422 
7423     if (l_extraction_type = 'PARTIAL') then
7424     null;
7425 /* Temporary removal of stage 1 dependency on stage 2.  temptemp
7426       FND_MESSAGE.SET_NAME('PJI', 'PJI_PJP_SUM_NO_SELECTION');
7427 
7428       l_no_selection := FND_MESSAGE.GET;
7429 
7430       FND_MESSAGE.SET_NAME('PJI', 'PJI_PJI_SUM_FORCE_PRTL');
7431 
7432       PJI_UTILS.WRITE2OUT(l_newline       ||
7433                           l_newline       ||
7434                           FND_MESSAGE.GET ||
7435                           l_newline       ||
7436                           l_newline);
7437 
7438       -- -----------------------
7439       -- Stage 2 - RM Parameters
7440       -- -----------------------
7441 
7442       l_organization_id := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7443                            (PJI_FM_SUM_MAIN.g_process, 'ORGANIZATION_ID');
7444 
7445       if (nvl(l_organization_id, -1) = -1) then
7446 
7447         l_organization := l_no_selection;
7448 
7449       else
7450 
7451         select NAME
7452         into   l_organization
7453         from   HR_ALL_ORGANIZATION_UNITS
7454         where  ORGANIZATION_ID = l_organization_id;
7455 
7456       end if;
7457 
7458       FND_MESSAGE.SET_NAME('PJI', 'PJI_PJI_SUM_ORGANIZATION');
7459 
7460       l_organization_tg := substr(FND_MESSAGE.GET, 1, 30);
7461 
7462      -- PJI_UTILS.WRITE2OUT(l_plan_type_tg              ||
7463      --                     PJI_FM_SUM_MAIN.my_pad(30 -
7464      --                                            length(l_organization_tg),
7465      --                                            ' ') ||
7466       --                    ': '                        ||
7467       --                    l_organization              ||
7468       --                    l_newline);
7469 
7470       l_include_sub_org_flag := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7471                                 (PJI_FM_SUM_MAIN.g_process, 'INCLUDE_SUB_ORG');
7472 
7473       if (nvl(l_include_sub_org_flag, 'PJI$NULL') = 'PJI$NULL') then
7474 
7475         l_include_sub_org := l_no_selection;
7476 
7477       else
7478 
7479         l_include_sub_org := l_include_sub_org_flag;
7480 
7481       end if;
7482 
7483       FND_MESSAGE.SET_NAME('PJI', 'PJI_PJI_SUM_INCLUDE_SUB_ORG');
7484 
7485       l_include_sub_org_tg := substr(FND_MESSAGE.GET, 1, 30);
7486 
7487    --   PJI_UTILS.WRITE2OUT(l_plan_type_tg              ||
7488     --                      PJI_FM_SUM_MAIN.my_pad(30 -
7489     --                                             length(l_include_sub_org_tg),
7490     --                                             ' ') ||
7491      --                     ': '                        ||
7492       --                    l_include_sub_org              ||
7493       --                    l_newline);
7494 
7495       -- -----------------------
7496       -- Stage 2 - FM Parameters
7497       -- -----------------------
7498 
7499      l_operating_unit := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7500                           (PJI_FM_SUM_MAIN.g_process,'PROJECT_OPERATING_UNIT');
7501 
7502       if (nvl(l_operating_unit, -1) = -1) then
7503 
7504         l_project_operating_unit_name := l_no_selection;
7505 
7506       else
7507 
7508         select NAME
7509         into   l_project_operating_unit_name
7510         from   HR_OPERATING_UNITS
7511         where  ORGANIZATION_ID = l_operating_unit;
7512 
7513       end if;
7514 
7515       FND_MESSAGE.SET_NAME('PJI', 'PJI_PJP_SUM_PRJ_OP_UNIT');
7516 
7517       l_project_operating_unit_tg := substr(FND_MESSAGE.GET, 1, 30);
7518 
7519       PJI_UTILS.WRITE2OUT(l_project_operating_unit_tg                 ||
7520                           PJI_FM_SUM_MAIN.my_pad(30 -
7521                             length(l_project_operating_unit_tg), ' ') ||
7522                           ': '                                        ||
7523                           l_project_operating_unit_name               ||
7524                           l_newline);
7525 
7526       l_from_project_num := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7527                            (PJI_FM_SUM_MAIN.g_process, 'FROM_PROJECT');
7528 
7529       if (nvl(l_from_project_num,'PJI$NULL') = 'PJI$NULL') then
7530 
7531         l_from_project := l_no_selection;
7532 
7533       else
7534 
7535         l_from_project := l_from_project_num;
7536 
7537       end if;
7538 
7539       FND_MESSAGE.SET_NAME('PJI', 'PJI_PJP_SUM_FROM_PRJ');
7540 
7541       l_from_project_tg := substr(FND_MESSAGE.GET, 1, 30);
7542 
7543       PJI_UTILS.WRITE2OUT(l_from_project_tg           ||
7544                           PJI_FM_SUM_MAIN.my_pad(30-length(l_from_project_tg),
7545                                                  ' ') ||
7546                           ': '                        ||
7547                           l_from_project              ||
7548                           l_newline);
7549 
7550       l_to_project_num := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7551                           (PJI_FM_SUM_MAIN.g_process, 'TO_PROJECT');
7552 
7553       if (nvl(l_to_project_num, 'PJI$NULL') = 'PJI$NULL') then
7554 
7555         l_to_project := l_no_selection;
7556 
7557       else
7558 
7559         l_to_project := l_to_project_num;
7560 
7561       end if;
7562 
7563       FND_MESSAGE.SET_NAME('PJI', 'PJI_PJP_SUM_TO_PRJ');
7564 
7565       l_to_project_tg := substr(FND_MESSAGE.GET, 1, 30);
7566 
7567       PJI_UTILS.WRITE2OUT(l_to_project_tg             ||
7568                           PJI_FM_SUM_MAIN.my_pad(30 - length(l_to_project_tg),
7569                                                  ' ') ||
7570                           ': '                        ||
7571                           l_to_project                ||
7572                           l_newline);
7573 
7574       l_plan_type_id := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7575                         (PJI_FM_SUM_MAIN.g_process, 'PLAN_TYPE_ID');
7576 
7577       if (nvl(l_plan_type_id, -1) = -1) then
7578 
7579         l_plan_type := l_no_selection;
7580 
7581       else
7582 
7583         select NAME
7584         into   l_plan_type
7585         from   PA_FIN_PLAN_TYPES_VL
7586         where  FIN_PLAN_TYPE_ID = l_plan_type_id;
7587 
7588       end if;
7589 
7590       FND_MESSAGE.SET_NAME('PJI', 'PJI_PJP_SUM_PLAN_TYPE');
7591 
7592       l_plan_type_tg := substr(FND_MESSAGE.GET, 1, 30);
7593 
7594       PJI_UTILS.WRITE2OUT(l_plan_type_tg              ||
7595                           PJI_FM_SUM_MAIN.my_pad(30 - length(l_plan_type_tg),
7596                                                  ' ') ||
7597                           ': '                        ||
7598                           l_plan_type                 ||
7599                           l_newline);
7600 
7601       commit;
7602 
7603 
7604       PJI_RM_SUM_MAIN.INIT_PROCESS('P',
7605                                    l_prtl_schedule,
7606                                    l_organization_id,
7607                                    l_include_sub_org,
7608                                    l_prtl_financial,
7609                                    l_operating_unit,
7610                                    l_from_project_num,
7611                                    l_to_project_num,
7612                                    l_plan_type_id);
7613 */
7614 
7615     end if;
7616 
7617     PJI_PROCESS_UTIL.REGISTER_STEP_COMPLETION(l_process, 'PJI_FM_SUM_EXTR.FORCE_SUBSEQUENT_RUN(p_worker_id);');
7618 
7619     commit;
7620 
7621   end FORCE_SUBSEQUENT_RUN;
7622 
7623 
7624   -- -----------------------------------------------------
7625   -- procedure CLEANUP_WORKER
7626   -- -----------------------------------------------------
7627   procedure CLEANUP_WORKER (p_worker_id in number) is
7628 
7629     l_process varchar2(30);
7630     l_schema  varchar2(30);
7631 
7632   begin
7633 
7634     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
7635 
7636     PJI_FM_DEBUG.CLEANUP_HOOK(l_process);
7637 
7638     PJI_FM_EXTR.CLEANUP(p_worker_id);
7639     PJI_FM_SUM_PSI.CLEANUP(p_worker_id);
7640     PJI_FM_SUM_ACT.CLEANUP(p_worker_id);
7641 
7642     l_schema := PJI_UTILS.GET_PJI_SCHEMA_NAME;
7643 
7644     PJI_PROCESS_UTIL.TRUNC_INT_TABLE(l_schema,
7645                                      'PJI_FM_AGGR_FIN1',
7646                                      'NORMAL',
7647                                      null);
7648 
7649     PJI_PROCESS_UTIL.TRUNC_INT_TABLE(l_schema,
7650                                      'PJI_FM_AGGR_FIN2',
7651                                      'NORMAL',
7652                                      null);
7653 
7654     PJI_PROCESS_UTIL.TRUNC_INT_TABLE(l_schema,
7655                                      'PJI_FM_AGGR_ACT1',
7656                                      'NORMAL',
7657                                      null);
7658 
7659     PJI_PROCESS_UTIL.TRUNC_INT_TABLE(l_schema,
7660                                      'PJI_FM_AGGR_ACT2',
7661                                      'NORMAL',
7662                                      null);
7663 
7664     commit;
7665 
7666   end CLEANUP_WORKER;
7667 
7668 
7669   -- -----------------------------------------------------
7670   -- procedure WRAPUP_FAILURE
7671   -- -----------------------------------------------------
7672   procedure WRAPUP_FAILURE is
7673 
7674   begin
7675 
7676     rollback;
7677 
7678     PJI_PROCESS_UTIL.SET_PROCESS_PARAMETER(PJI_FM_SUM_MAIN.g_process, 'PROCESS_RUNNING', 'F');
7679 
7680     commit;
7681 
7682     pji_utils.write2log(sqlerrm, true, 0);
7683 
7684     commit;
7685 
7686   end WRAPUP_FAILURE;
7687 
7688 
7689   -- -----------------------------------------------------
7690   -- procedure WORKER
7691   -- -----------------------------------------------------
7692   procedure WORKER (p_worker_id in number) is
7693 
7694     l_process varchar2(30);
7695 
7696   begin
7697 
7698     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
7699 
7700     PJI_FM_DEBUG.CONC_REQUEST_HOOK(l_process);
7701 
7702     PJI_EXTRACTION_UTIL.SEED_PJI_FM_STATS;
7703 
7704     PJI_PROCESS_UTIL.CLEAN_HELPER_BATCH_TABLE;
7705 
7706     PJI_FM_SUM_EXTR.POPULATE_TIME_DIMENSION(p_worker_id);
7707     PJI_EXTRACTION_UTIL.POPULATE_ORG_EXTR_INFO;
7708 
7709     PJI_FM_EXTR.EXTRACT_BATCH_DREV(p_worker_id);
7710 
7711     PJI_FM_EXTR.MARK_EXTRACTED_DREV_PRE(p_worker_id);
7712     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7713             (PJI_FM_SUM_MAIN.g_process,
7714              'PJI_FM_EXTR.MARK_EXTRACTED_DREV(p_worker_id);',
7715              PJI_FM_SUM_MAIN.g_process_delay)) then
7716       return;
7717     end if;
7718     PJI_FM_EXTR.MARK_EXTRACTED_DREV_POST(p_worker_id);
7719 
7720     PJI_FM_EXTR.EXTRACT_BATCH_CDL_ROWIDS(p_worker_id);
7721 
7722     PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS_PRE(p_worker_id);
7723     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7724             (PJI_FM_SUM_MAIN.g_process,
7725              'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS(p_worker_id);',
7726              PJI_FM_SUM_MAIN.g_process_delay)) then
7727       return;
7728     end if;
7729     PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS_POST(p_worker_id);
7730 
7731     PJI_FM_EXTR.EXTRACT_BATCH_CDL_CRDL_FULL(p_worker_id);
7732     PJI_FM_EXTR.EXTRACT_BATCH_ERDL_FULL(p_worker_id);
7733     PJI_FM_EXTR.EXTRACT_BATCH_CRDL_ROWIDS(p_worker_id);
7734     PJI_FM_EXTR.EXTRACT_BATCH_ERDL_ROWIDS(p_worker_id);
7735     PJI_FM_EXTR.EXTRACT_BATCH_CDL_AND_CRDL(p_worker_id);
7736     PJI_FM_EXTR.EXTRACT_BATCH_ERDL(p_worker_id);
7737     PJI_FM_EXTR.EXTRACT_BATCH_FND(p_worker_id);
7738 
7739     PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS_PRE(p_worker_id);
7740     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7741             (PJI_FM_SUM_MAIN.g_process,
7742              'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS(p_worker_id);',
7743              PJI_FM_SUM_MAIN.g_process_delay)) then
7744       return;
7745     end if;
7746     PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS_POST(p_worker_id);
7747 
7748     PJI_FM_EXTR.EXTRACT_BATCH_DINV(p_worker_id);
7749     PJI_FM_EXTR.MARK_EXTRACTED_DINV_ROWS(p_worker_id);
7750     PJI_FM_EXTR.EXTRACT_BATCH_DINVITEM(p_worker_id);
7751     PJI_FM_EXTR.EXTRACT_BATCH_ARINV(p_worker_id);
7752 
7753     PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES_PRE(p_worker_id);
7754     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7755             (PJI_FM_SUM_MAIN.g_process,
7756              'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES(p_worker_id);',
7757              PJI_FM_SUM_MAIN.g_process_delay)) then
7758       return;
7759     end if;
7760     PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES_POST(p_worker_id);
7761 
7762     PJI_FM_SUM_ACT.BASE_SUMMARY(p_worker_id);
7763 
7764     PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT_PRE(p_worker_id);
7765     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7766             (PJI_FM_SUM_MAIN.g_process,
7767              'PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT(p_worker_id);',
7768              PJI_FM_SUM_MAIN.g_process_delay)) then
7769       return;
7770     end if;
7771     PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT_POST(p_worker_id);
7772 
7773     PJI_FM_SUM_EXTR.ORG_EXTR_INFO_TABLE(p_worker_id);
7774     PJI_FM_SUM_EXTR.CURR_CONV_TABLE(p_worker_id);
7775 
7776     PJI_FM_SUM_EXTR.DANGLING_FIN_ROWS(p_worker_id);
7777     PJI_FM_SUM_EXTR.DANGLING_ACT_ROWS(p_worker_id);
7778     PJI_FM_SUM_EXTR.PURGE_DANGLING_FIN_ROWS(p_worker_id);
7779     PJI_FM_SUM_EXTR.PURGE_DANGLING_ACT_ROWS(p_worker_id);
7780 
7781     PJI_FM_CMT_EXTR.FIN_CMT_SUMMARY(p_worker_id);
7782 
7783     PJI_FM_SUM_EXTR.FIN_SUMMARY(p_worker_id);
7784     PJI_FM_SUM_EXTR.MOVE_DANGLING_FIN_ROWS(p_worker_id);
7785 
7786     PJI_FM_SUM_EXTR.ACT_SUMMARY(p_worker_id);
7787     PJI_FM_SUM_EXTR.MOVE_DANGLING_ACT_ROWS(p_worker_id);
7788 
7789     PJI_FM_SUM_PSI.RESOURCE_LOOKUP_TABLE(p_worker_id);
7790 
7791     PJI_FM_SUM_PSI.PURGE_FP_BALANCES(p_worker_id);
7792     PJI_FM_SUM_PSI.PURGE_CMT_BALANCES(p_worker_id);
7793     PJI_FM_SUM_PSI.PURGE_AC_BALANCES(p_worker_id);
7794 
7795     PJI_FM_SUM_PSI.AGGREGATE_FPR_PERIODS(p_worker_id);
7796     PJI_FM_SUM_PSI.AGGREGATE_ACR_PERIODS(p_worker_id);
7797 
7798     PJI_FM_SUM_PSI.INSERT_NEW_HEADERS(p_worker_id);
7799     PJI_FM_SUM_PSI.BALANCES_INSERT(p_worker_id);
7800     PJI_FM_SUM_PSI.BALANCES_INCR_NEW_PRJ(p_worker_id);
7801     PJI_FM_SUM_PSI.BALANCES_INSERT_CMT(p_worker_id);
7802     PJI_FM_SUM_PSI.BALANCES_INCR_NEW_PRJ_CMT(p_worker_id);
7803 
7804     PJI_FM_SUM_PSI.FORCE_SUBSEQUENT_RUN(p_worker_id);
7805 
7806     PJI_FM_SUM_EXTR.AGGREGATE_RES_SLICES(p_worker_id);
7807     PJI_FM_SUM_EXTR.AGGREGATE_FIN_SLICES(p_worker_id);
7808     PJI_FM_SUM_EXTR.AGGREGATE_ACT_SLICES(p_worker_id);
7809 
7810     PJI_FM_SUM_EXTR.FORCE_SUBSEQUENT_RUN(p_worker_id);
7811 
7812     CLEANUP_WORKER(p_worker_id);
7813 
7814   end WORKER;
7815 
7816 
7817   -- -----------------------------------------------------
7818   -- procedure HELPER
7819   -- -----------------------------------------------------
7820   procedure HELPER
7821   (
7822     errbuf      out nocopy varchar2,
7823     retcode     out nocopy varchar2,
7824     p_worker_id  in        number
7825   ) is
7826 
7827     l_process varchar2(30);
7828 
7829   begin
7830 
7831     -- If this helper's concurrent request ID does not exist in the
7832     -- parameters table, the dispatcher must have kicked off a new
7833     -- helper.  Therefore do nothing.
7834     if (PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER(PJI_FM_SUM_MAIN.g_process,
7835                                                PJI_FM_SUM_MAIN.g_process ||
7836                                                p_worker_id)
7837         <> FND_GLOBAL.CONC_REQUEST_ID) then
7838       pji_utils.write2log('Warning: Helper is already running.');
7839       commit;
7840       retcode := 0;
7841       return;
7842     end if;
7843 
7844     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
7845 
7846     PJI_FM_DEBUG.CONC_REQUEST_HOOK(l_process);
7847 
7848     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7849             (PJI_FM_SUM_MAIN.g_process,
7850              'PJI_FM_EXTR.MARK_EXTRACTED_DREV_PRE(p_worker_id);',
7851              PJI_FM_SUM_MAIN.g_process_delay,
7852              'EVEN_IF_NOT_EXISTS')) then
7853       if (PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7854           (PJI_FM_SUM_MAIN.g_process, 'PROCESS_RUNNING') = 'N') then
7855         null;
7856       else
7857         return;
7858       end if;
7859     end if;
7860 
7861     PJI_FM_EXTR.MARK_EXTRACTED_DREV(p_worker_id);
7862 
7863     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7864             (PJI_FM_SUM_MAIN.g_process,
7865              'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS_PRE(p_worker_id);',
7866              PJI_FM_SUM_MAIN.g_process_delay)) then
7867       if (PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7868           (PJI_FM_SUM_MAIN.g_process, 'PROCESS_RUNNING') = 'N') then
7869         null;
7870       else
7871         return;
7872       end if;
7873     end if;
7874 
7875     PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS(p_worker_id);
7876 
7877     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7878             (PJI_FM_SUM_MAIN.g_process,
7879              'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS_PRE(p_worker_id);',
7880              PJI_FM_SUM_MAIN.g_process_delay)) then
7881       if (PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7882           (PJI_FM_SUM_MAIN.g_process, 'PROCESS_RUNNING') = 'N') then
7883         null;
7884       else
7885         return;
7886       end if;
7887     end if;
7888 
7889     PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS(p_worker_id);
7890 
7891     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7892             (PJI_FM_SUM_MAIN.g_process,
7893              'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES_PRE(p_worker_id);',
7894              PJI_FM_SUM_MAIN.g_process_delay)) then
7895       if (PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7896           (PJI_FM_SUM_MAIN.g_process, 'PROCESS_RUNNING') = 'N') then
7897         null;
7898       else
7899         return;
7900       end if;
7901     end if;
7902 
7903     PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES(p_worker_id);
7904 
7905     if (not PJI_PROCESS_UTIL.WAIT_FOR_STEP
7906             (PJI_FM_SUM_MAIN.g_process,
7907              'PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT_PRE(p_worker_id);',
7908              PJI_FM_SUM_MAIN.g_process_delay)) then
7909       if (PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7910           (PJI_FM_SUM_MAIN.g_process, 'PROCESS_RUNNING') = 'N') then
7911         null;
7912       else
7913         return;
7914       end if;
7915     end if;
7916 
7917     PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT(p_worker_id);
7918 
7919     while (PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7920            (PJI_FM_SUM_MAIN.g_process, 'PROCESS_RUNNING') = 'Y') loop
7921       PJI_PROCESS_UTIL.SLEEP(PJI_FM_SUM_MAIN.g_process_delay);
7922     end loop;
7923 
7924     if (PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7925         (PJI_FM_SUM_MAIN.g_process, 'PROCESS_RUNNING') = 'F') then
7926       return;
7927     end if;
7928 
7929     PJI_PROCESS_UTIL.WRAPUP_PROCESS(l_process);
7930 
7931     commit;
7932 
7933     retcode := 0;
7934 
7935     exception when others then
7936 
7937       WRAPUP_FAILURE;
7938       retcode := 2;
7939       errbuf := sqlerrm;
7940 
7941   end HELPER;
7942 
7943 
7944   -- -----------------------------------------------------
7945   -- procedure START_HELPER
7946   -- -----------------------------------------------------
7947   procedure START_HELPER (p_worker_id in number) is
7948 
7949     l_process varchar2(30);
7950     l_extraction_type varchar2(30);
7951 
7952   begin
7953 
7954     -- If a helper with this concurrent request ID is already running
7955     -- then we do not need to do anything.
7956     if (WORKER_STATUS(p_worker_id, 'RUNNING')) then
7957       return;
7958     end if;
7959 
7960     l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
7961 
7962     -- Initialize status tables with worker details
7963 
7964     -- Note that adding a new step will do nothing if the step already
7965     -- exists.  Therefore, no state will be overwritten in the case of
7966     -- error recovery.
7967 
7968     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
7969 
7970     PJI_PROCESS_UTIL.ADD_STEPS(l_process, 'PJI_EXTR_HELPER', l_extraction_type);
7971 
7972     -- Kick off helper
7973 
7974     PJI_PROCESS_UTIL.SET_PROCESS_PARAMETER
7975     (
7976       PJI_FM_SUM_MAIN.g_process,
7977       l_process,
7978       FND_REQUEST.SUBMIT_REQUEST
7979       (
7980         PJI_UTILS.GET_PJI_SCHEMA_NAME,     -- Application name
7981         PJI_FM_SUM_MAIN.g_helper_name,     -- concurrent program name
7982         null,                              -- description (optional)
7983         null,                              -- Start Time  (optional)
7984         false,                             -- called from another conc. request
7985         p_worker_id                        -- first parameter
7986       )
7987     );
7988 
7989     if (nvl(to_number(PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
7990                       (PJI_FM_SUM_MAIN.g_process, l_process)), 0) = 0) then
7991         fnd_message.set_name('PJI', 'PJI_SUM_NO_SUB_REQ');
7992         dbms_standard.raise_application_error(-20030, fnd_message.get);
7993     end if;
7994 
7995     commit;
7996 
7997   end START_HELPER;
7998 
7999 
8000   -- -----------------------------------------------------
8001   -- function WORKER_STATUS
8002   -- -----------------------------------------------------
8003   function WORKER_STATUS (p_worker_id in number,
8004                           p_mode in varchar2) return boolean is
8005 
8006     l_process         varchar2(30);
8007     l_request_id      number;
8008     l_worker_name     varchar2(255);
8009     l_extraction_type varchar2(30);
8010 
8011   begin
8012 
8013     l_extraction_type := PJI_UTILS.GET_PARAMETER('EXTRACTION_TYPE');
8014 
8015     if (p_worker_id = 1) then
8016 
8017       if (l_extraction_type = 'FULL') then
8018         l_worker_name := PJI_FM_SUM_MAIN.g_full_disp_name;
8019       elsif (l_extraction_type = 'INCREMENTAL') then
8020         l_worker_name := PJI_FM_SUM_MAIN.g_incr_disp_name;
8021       elsif (l_extraction_type = 'PARTIAL') then
8022         l_worker_name := PJI_FM_SUM_MAIN.g_prtl_disp_name;
8023       end if;
8024 
8025       l_request_id := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
8026                       (PJI_FM_SUM_MAIN.g_process,
8027                        PJI_FM_SUM_MAIN.g_process);
8028 
8029     else
8030 
8031       l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
8032 
8033       l_worker_name := PJI_FM_SUM_MAIN.g_helper_name;
8034 
8035       l_request_id := PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
8036                       (PJI_FM_SUM_MAIN.g_process, l_process);
8037 
8038     end if;
8039 
8040     return PJI_PROCESS_UTIL.REQUEST_STATUS(p_mode,
8041                                            l_request_id,
8042                                            l_worker_name);
8043 
8044   end WORKER_STATUS;
8045 
8046 
8047   -- -----------------------------------------------------
8048   -- procedure WAIT_FOR_WORKER
8049   -- -----------------------------------------------------
8050   procedure WAIT_FOR_WORKER (p_worker_id in number) is
8051 
8052     l_process    varchar2(30);
8053     l_request_id number;
8054 
8055   begin
8056 
8057     l_process := PJI_FM_SUM_MAIN.g_process || p_worker_id;
8058 
8059     l_request_id :=
8060     PJI_PROCESS_UTIL.GET_PROCESS_PARAMETER
8061     (
8062       PJI_FM_SUM_MAIN.g_process,
8063       l_process
8064     );
8065 
8066     PJI_PROCESS_UTIL.WAIT_FOR_REQUEST(l_request_id,
8067                                       PJI_FM_SUM_MAIN.g_process_delay);
8068 
8069   end WAIT_FOR_WORKER;
8070 
8071 end PJI_FM_SUM_EXTR;