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