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