The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE UPDATE_BATCH_CONC_STATUS_420;
select PJI_RM_SUM_MAIN.g_process
into :l_stage2_pji_process
from DUAL;
select VALUE
into l_permanent_param
from PJI_SYSTEM_PARAMETERS
where NAME like 'LAST_PJP_EXTR_DATE%' and
ROWNUM = 1;
select VALUE
into l_running_param
from PJI_SYSTEM_PARAMETERS
where NAME like PJI_PJP_SUM_MAIN.g_process || '%PROCESS_RUNNING' and
ROWNUM = 1;
select count(*)
into l_count
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME = p_process and
STEP_NAME = p_step;
select STEP_STATUS,
STEP_SEQ
into l_status,
l_seq
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME = p_process and
STEP_NAME = p_step;
update PJI_SYSTEM_PRC_STATUS
set START_DATE = sysdate
where PROCESS_NAME = p_process and
STEP_NAME = p_step and
START_DATE is null;
update PJI_SYSTEM_PRC_STATUS
set STEP_STATUS = 'C',
END_DATE = sysdate
where PROCESS_NAME = p_process and
STEP_NAME = p_step;
delete
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME = p_process;
delete
from PJI_SYSTEM_PARAMETERS
where NAME like p_process || '$%';
insert into PJI_SYSTEM_PRC_STATUS
(
PROCESS_NAME,
STEP_NAME,
STEP_STATUS,
STEP_SEQ
)
select
p_process,
STEP_NAME,
null,
STEP_SEQ
from
PJI_MT_PRC_STEPS
where
PROCESS_NAME = p_step_process and
((CONFIG_PROJ_PERF_FLAG = 'Y' and l_params_proj_perf_flag = 'Y') or
(CONFIG_COST_FLAG = 'Y' and l_params_cost_flag = 'Y') or
(CONFIG_PROFIT_FLAG = 'Y' and l_params_profit_flag = 'Y') or
(CONFIG_UTIL_FLAG = 'Y' and l_params_util_flag = 'Y') or
p_step_process = 'PJI_PJP_FPM_UPGRADE') and
bitand(to_number(STEP_TYPE), l_extraction_type) = l_extraction_type and
(STEP_NAME,
STEP_SEQ) not in (select STEP_NAME,
STEP_SEQ
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME = p_process);
select count(*)
into l_count
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME = p_process;
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = p_tablename
AND table_owner = l_pji_schema) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION '||p_partition||' UNUSABLE';
'alter table '||p_schema||'.'||p_tablename||' truncate partition '||p_partition||' drop storage update global indexes';
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = p_tablename
AND table_owner = l_pji_schema) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION '||p_partition;
select count(*)
into l_worker_count
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME like p_process || '%' and
STEP_NAME = p_step;
select count(*)
into l_worker_count
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME like p_process || '%' and
STEP_NAME = p_step and
STEP_STATUS is null;
select PJI_RM_SUM_MAIN.g_process
into :l_stage2_pji_process
from DUAL;
delete
from PJI_HELPER_BATCH_MAP
where STATUS = 'P';
l_dev_status = 'DELETED' or
l_dev_status = 'TERMINATED'))) then
return false;
l_dev_status = 'DELETED' or
l_dev_status = 'TERMINATED'))) then
return false;
select
ORACLE_PROCESS_ID,
ORACLE_SESSION_ID
into
l_process_id,
l_session_id
from
FND_CONCURRENT_REQUESTS
where
REQUEST_ID = l_request_id;
select
count(*)
into
l_count
from
V$PROCESS
where
SPID = l_process_id and
ROWNUM = 1;
select count(*)
into l_count
from PJI_MT_PRC_STEPS
where ROWNUM = 1;
delete from PJI_MT_PRC_STEPS;
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_MAIN.INIT_PROCESS;',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_MAIN.RUN_PROCESS;',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_MAIN.WRAPUP_PROCESS;',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.POPULATE_TIME_DIMENSION(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_DREV(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_EXTRACTED_DREV_PRE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR_HELPER',
'PJI_FM_EXTR.MARK_EXTRACTED_DREV(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_EXTRACTED_DREV_POST(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_CDL_ROWIDS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS_PRE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR_HELPER',
'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS_POST(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_CDL_CRDL_FULL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_ERDL_FULL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_CRDL_ROWIDS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_ERDL_ROWIDS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_CDL_AND_CRDL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_ERDL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_FND(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS_PRE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR_HELPER',
'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS_POST(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_DINV(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_EXTRACTED_DINV_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_DINVITEM(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.EXTRACT_BATCH_ARINV(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES_PRE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR_HELPER',
'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES_POST(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_ACT.BASE_SUMMARY(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT_PRE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR_HELPER',
'PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT_POST(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.ORG_EXTR_INFO_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.CURR_CONV_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.DANGLING_FIN_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.DANGLING_ACT_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.PURGE_DANGLING_FIN_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.PURGE_DANGLING_ACT_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_CMT_EXTR.FIN_CMT_SUMMARY(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.FIN_SUMMARY(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.MOVE_DANGLING_FIN_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.ACT_SUMMARY(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.MOVE_DANGLING_ACT_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.RESOURCE_LOOKUP_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.PURGE_FP_BALANCES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.PURGE_CMT_BALANCES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.PURGE_AC_BALANCES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.AGGREGATE_FPR_PERIODS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.AGGREGATE_ACR_PERIODS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.INSERT_NEW_HEADERS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.BALANCES_INSERT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.BALANCES_INCR_NEW_PRJ(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.BALANCES_INSERT_CMT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.BALANCES_INCR_NEW_PRJ_CMT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_PSI.FORCE_SUBSEQUENT_RUN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.AGGREGATE_RES_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.AGGREGATE_FIN_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.AGGREGATE_ACT_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.FORCE_SUBSEQUENT_RUN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_EXTR',
'PJI_FM_SUM_EXTR.CLEANUP_WORKER(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_MAIN.INIT_PROCESS;',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_PJI_EXTRACTION_UTILS.UPDATE_PJI_RM_WORK_TYPE_INFO(p_process);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_PJI_EXTRACTION_UTILS.UPDATE_RESOURCE_DATA(p_process);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_MAIN.RUN_PROCESS;',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_MAIN.WRAPUP_PROCESS;',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.UPDATE_PLAN_ORG_INFO(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.EXTRACT_PLAN_VERSIONS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.EXTRACT_BATCH_PLAN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.SPREAD_ENT_PLANS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.PLAN_CURR_CONV_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.CONVERT_TO_GLOBAL_CURRENCY(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.CONVERT_TO_GLOBAL2_CURRENCY(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.CONVERT_TO_PA_PERIODS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.CONVERT_TO_GL_PERIODS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.CONVERT_TO_ENT_PERIODS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.CONVERT_TO_ENTW_PERIODS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.DANGLING_PLAN_VERSIONS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.SUMMARIZE_EXTRACT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.EXTRACT_UPDATED_VERSIONS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS_PRE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI_HELPER',
'PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS_POST(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_PLAN_EXTR.UPDATE_BATCH_STATUSES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_PJ_PROJ_CLASS_EXTR.EXTR_PROJECT_CLASSES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.PROCESS_DANGLING_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.PURGE_DANGLING_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.JOB_NONUTIL2UTIL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.EXTRACT_BATCH_FID_ROWIDS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.MARK_EXTRACTED_ROWS_PRE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI_HELPER',
'PJI_RM_SUM_EXTR.MARK_EXTRACTED_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.MARK_EXTRACTED_ROWS_POST(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.RES_ROWID_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.EXTRACT_BATCH_FID_FULL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.EXTRACT_BATCH_FID(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.MOVE_DANGLING_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.PURGE_RES_DATA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.GET_JOB_ID_LOOKUPS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.PROCESS_JOB_ID(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.CALC_RMS_AVL_AND_WT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_AVL.INS_INTO_RES_STATUS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI_HELPER',
'PJI_RM_SUM_AVL.START_RES_AVL_CALC_R1(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_BKLG.ROWID_ACTIVITY_DATES_FIN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_BKLG.UPDATE_ACTIVITY_DATES_FIN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_BKLG.ROWID_ACTIVITY_DATES_ACT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_BKLG.UPDATE_ACTIVITY_DATES_ACT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.FIN_ROWID_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.AGGREGATE_FIN_ET_WT_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.PURGE_FIN_DATA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.AGGREGATE_FIN_ET_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.AGGREGATE_FIN_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.ACT_ROWID_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.AGGREGATE_ACT_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.PURGE_ACT_DATA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMR_CAL_EN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMR_CAL_PA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMR_CAL_GL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMR_CAL_WK(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMS_CAL_EN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMS_CAL_PA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMS_CAL_GL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMS_CAL_WK(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPW_CAL_EN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPW_CAL_PA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPW_CAL_GL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPW_CAL_WK(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPE_CAL_EN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPE_CAL_PA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPE_CAL_GL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPE_CAL_WK(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPP_CAL_EN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPP_CAL_PA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPP_CAL_GL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPP_CAL_WK(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_EN(p_worker_id, ''N'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_PA(p_worker_id, ''N'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_GL(p_worker_id, ''N'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_WK(p_worker_id, ''N'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.MERGE_TMP1_INTO_RMR(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.CLEANUP_RMR(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.MERGE_TMP2_INTO_RMS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.CLEANUP_RMS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_AVL.UPDATE_RES_STA_FOR_RUN2(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI_HELPER',
'PJI_RM_SUM_AVL.START_RES_AVL_CALC_R2(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_AVL.MERGE_ORG_AVL_DUR(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_AVL.MERGE_CURR_ORG_AVL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_AVL.RES_CALC_CLEANUP(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.MERGE_FIN_INTO_FPW(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.MERGE_FIN_INTO_FPE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.MERGE_FIN_INTO_FPP(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.MERGE_ACT_INTO_ACP(p_worker_id, ''N'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_BKLG.SCOPE_PROJECTS_BKLG(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_BKLG.CLEANUP_INT_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI_HELPER',
'PJI_FM_SUM_BKLG.PROCESS_DRMT_BKLG(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_EN(p_worker_id, ''Y'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_PA(p_worker_id, ''Y'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_GL(p_worker_id, ''Y'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_WK(p_worker_id, ''Y'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.MERGE_ACT_INTO_ACP(p_worker_id, ''Y'');',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.PROJECT_ORGANIZATION(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.PROJECT_ORGANIZATION(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_UTW(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_UTX(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_UTJ(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_TIME(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_TIME_DAY(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_TIME_TREND(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_AVL.REFRESH_AV_ORGO_F_MV(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_AVL.REFRESH_CA_ORGO_F_MV(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FWO(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FWC(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FEO(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FEC(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FPO(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FPC(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.REFRESH_MVIEW_ACO(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_FM_SUM_ROLLUP_ACT.REFRESH_MVIEW_ACC(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJI',
'PJI_RM_SUM_EXTR.CLEANUP_WORKER(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_MAIN.INIT_PROCESS(p_worker_id, p_run_mode);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_MAIN.RUN_PROCESS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_MAIN.WRAPUP_PROCESS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.POPULATE_TIME_DIMENSION(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.CREATE_EVENTS_SNAPSHOT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.LOCK_HEADERS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.PROCESS_RBS_CHANGES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_DENORM.POPULATE_XBS_DENORM(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UPDATE_XBS_DENORM_FULL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UPDATE_PROGRAM_WBS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.PURGE_EVENT_DATA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UPDATE_PROGRAM_RBS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.CREATE_MAPPING_RULES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.MAP_RBS_HEADERS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_DENORM.POPULATE_RBS_DENORM(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.POPULATE_XBS_DENORM_DELTA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.POPULATE_RBS_DENORM_DELTA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_FM_SUM_PSI.BALANCES_ROWID_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_FM_SUM_PSI.ACT_ROWID_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.AGGREGATE_FP_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.AGGREGATE_AC_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.MARK_EXTRACTED_PROJECTS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_CUST.PJP_CUSTOM_FPR_API(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_CUST.PJP_CUSTOM_ACR_API(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.AGGREGATE_FP_CUST_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.AGGREGATE_AC_CUST_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.GET_PLANRES_ACTUALS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.PULL_PLANS_FOR_PR(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.PULL_PLANS_FOR_RBS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.PULL_DANGLING_PLANS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.PROCESS_PENDING_PLAN_UPDATES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_ALL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_CAL_ALL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_NONTP(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_PA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_GL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_EN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_CAL_PA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_CAL_GL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_CAL_EN(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_RBS_TOP(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_WBS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_WBS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_PRG(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_PRG(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_RBS_SMART_SLICES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.AGGREGATE_PLAN_DATA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.PURGE_PLAN_DATA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UPDATE_WBS_HDR(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.MERGE_INTO_FP_FACT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.GET_FPR_ROWIDS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UPDATE_FPR_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.INSERT_FPR_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.CLEANUP_FPR_ROWID_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.GET_ACR_ROWIDS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UPDATE_ACR_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.INSERT_ACR_ROWS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.CLEANUP_ACR_ROWID_TABLE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UPDATE_XBS_DENORM(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UPDATE_RBS_DENORM(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.PROCESS_PENDING_EVENTS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.GET_TASK_ROLLUP_ACTUALS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_FM_SUM_PSI.BALANCES_UPDATE_DELTA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_FM_SUM_PSI.BALANCES_INSERT_DELTA(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_FM_SUM_PSI.PURGE_BALANCES_CMT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_FM_SUM_PSI.BALANCES_INSERT_DELTA_CMT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_FM_SUM_PSI.PURGE_INCREMENTAL_BALANCES(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_FM_SUM_PSI.PURGE_BALANCES_ACT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.UNLOCK_ALL_HEADERS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP',
'PJI_PJP_SUM_ROLLUP.CLEANUP(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.REMAP_RBS_TXN_ACCUM_HDRS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_DENORM.POPULATE_RBS_DENORM(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.UPDATE_RBS_DENORM(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.POPULATE_TIME_DIMENSION(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_DENORM.POPULATE_XBS_DENORM(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.UPDATE_XBS_DENORM_FULL(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.EXTRACT_FIN_PLAN_VERS_BULK(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.POPULATE_WBS_HDR(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.POPULATE_RBS_HDR(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.RETRIEVE_OVERRIDDEN_WP_ETC(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.EXTRACT_PLAN_ETC_PRIRBS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.EXTRACT_PLAN_AMOUNTS_PRIRBS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.UPDATE_WBS_HDR(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_RBS_T_SLICE(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_WBS(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.CREATE_FP_PA_PRI_ROLLUP(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.CREATE_FP_GL_PRI_ROLLUP(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.CREATE_FP_ALL_PRI_ROLLUP(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.INSERT_INTO_FP_FACT(p_worker_id);',
insert into PJI_MT_PRC_STEPS
(
PROCESS_NAME,
STEP_NAME,
STEP_SEQ,
STEP_TYPE,
CONFIG_PROJ_PERF_FLAG,
CONFIG_COST_FLAG,
CONFIG_PROFIT_FLAG,
CONFIG_UTIL_FLAG
)
values
(
'PJI_PJP_FPM_UPGRADE',
'PJI_PJP_SUM_ROLLUP.MARK_EXTRACTED_PLANS(p_worker_id);',
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P1)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P2)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P3)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P4)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P5)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P6)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P7)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P8)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P9)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P10)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P1)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P2)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P3)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P4)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P5)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P6)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P7)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P8)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P9)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P10)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.REVENUE,
pjp1_i.INITIAL_FUNDING_AMOUNT,
pjp1_i.INITIAL_FUNDING_COUNT,
pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
pjp1_i.ADDITIONAL_FUNDING_COUNT,
pjp1_i.CANCELLED_FUNDING_AMOUNT,
pjp1_i.CANCELLED_FUNDING_COUNT,
pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
pjp1_i.FUNDING_ADJUSTMENT_COUNT,
pjp1_i.REVENUE_WRITEOFF,
pjp1_i.AR_INVOICE_AMOUNT,
pjp1_i.AR_INVOICE_COUNT,
pjp1_i.AR_CASH_APPLIED_AMOUNT,
pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
pjp1_i.AR_CREDIT_MEMO_AMOUNT,
pjp1_i.AR_CREDIT_MEMO_COUNT,
pjp1_i.UNBILLED_RECEIVABLES,
pjp1_i.UNEARNED_REVENUE,
pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
pjp1_i.AR_UNAPPR_INVOICE_COUNT,
pjp1_i.AR_APPR_INVOICE_AMOUNT,
pjp1_i.AR_APPR_INVOICE_COUNT,
pjp1_i.AR_AMOUNT_DUE,
pjp1_i.AR_COUNT_DUE,
pjp1_i.AR_AMOUNT_OVERDUE,
pjp1_i.AR_COUNT_OVERDUE,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID) SUP_EMT_ID,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
-- get incremental task level amounts from source and
-- program rollup amounts from interim
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')) PUSHUP_FLAG,
'Y' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM prg,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
wbs_hdr.PLAN_VERSION_ID = -1 and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get incremental project level amounts from source
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
'N' INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM prg
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID
union all
select /*+ ordered
index(fpr PJI_AC_XBR_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
wbs_hdr.WBS_VERSION_ID,
'LF' RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
'Y' INSERT_FLAG,
acr.PROJECT_ID,
acr.PROJECT_ORG_ID,
acr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID))
PROJECT_ELEMENT_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
'Y' WBS_ROLLUP_FLAG,
acr.PRG_ROLLUP_FLAG,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
wbs.SIGN * acr.REVENUE REVENUE,
wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
wbs.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
ADDITIONAL_FUNDING_AMOUNT,
wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
ADDITIONAL_FUNDING_COUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
CANCELLED_FUNDING_AMOUNT,
wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
FUNDING_ADJUSTMENT_AMOUNT,
wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
FUNDING_ADJUSTMENT_COUNT,
wbs.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
wbs.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
AR_INVOICE_WRITE_OFF_AMOUNT,
wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
AR_INVOICE_WRITEOFF_COUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
wbs.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
wbs.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
AR_UNAPPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
wbs.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
wbs.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
wbs.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
wbs.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
wbs.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
wbs.SIGN * acr.CUSTOM1 CUSTOM1,
wbs.SIGN * acr.CUSTOM2 CUSTOM2,
wbs.SIGN * acr.CUSTOM3 CUSTOM3,
wbs.SIGN * acr.CUSTOM4 CUSTOM4,
wbs.SIGN * acr.CUSTOM5 CUSTOM5,
wbs.SIGN * acr.CUSTOM6 CUSTOM6,
wbs.SIGN * acr.CUSTOM7 CUSTOM7,
wbs.SIGN * acr.CUSTOM8 CUSTOM8,
wbs.SIGN * acr.CUSTOM9 CUSTOM9,
wbs.SIGN * acr.CUSTOM10 CUSTOM10,
wbs.SIGN * acr.CUSTOM11 CUSTOM11,
wbs.SIGN * acr.CUSTOM12 CUSTOM12,
wbs.SIGN * acr.CUSTOM13 CUSTOM13,
wbs.SIGN * acr.CUSTOM14 CUSTOM14,
wbs.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM prg,
PJI_AC_XBS_ACCUM_F acr,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = p_worker_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.WORKER_ID = p_worker_id and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.PLAN_VERSION_ID = -1 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
acr.WBS_ROLLUP_FLAG = 'N' and
acr.PRG_ROLLUP_FLAG = 'N' and
acr.PROJECT_ID = wbs.SUP_PROJECT_ID and
acr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
acr.PROJECT_ID = wbs_hdr.PROJECT_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
prg.RELATIONSHIP_TYPE RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg
where
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, prg.SUP_EMT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID,
prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P1)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P2)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P3)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P4)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P5)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P6)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P7)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P8)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P9)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P10)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
decode(fpr.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'FPR' LINE_SOURCE,
decode(fpr.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(fpr.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_VERSION_ID,
-4, fpr.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(fpr.PLAN_VERSION_ID,
-1, fpr.PLAN_TYPE_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fpr.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, fpr.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', fpr.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
prg.SIGN * fpr.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
prg.SIGN * fpr.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
prg.SIGN * fpr.CUSTOM1 CUSTOM1,
prg.SIGN * fpr.CUSTOM2 CUSTOM2,
prg.SIGN * fpr.CUSTOM3 CUSTOM3,
prg.SIGN * fpr.CUSTOM4 CUSTOM4,
prg.SIGN * fpr.CUSTOM5 CUSTOM5,
prg.SIGN * fpr.CUSTOM6 CUSTOM6,
prg.SIGN * fpr.CUSTOM7 CUSTOM7,
prg.SIGN * fpr.CUSTOM8 CUSTOM8,
prg.SIGN * fpr.CUSTOM9 CUSTOM9,
prg.SIGN * fpr.CUSTOM10 CUSTOM10,
prg.SIGN * fpr.CUSTOM11 CUSTOM11,
prg.SIGN * fpr.CUSTOM12 CUSTOM12,
prg.SIGN * fpr.CUSTOM13 CUSTOM13,
prg.SIGN * fpr.CUSTOM14 CUSTOM14,
prg.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_FP_XBS_ACCUM_F fpr,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
fpr.PROJECT_ID = prj_emt.PROJECT_ID and
(((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(fpr.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
decode(wbs_hdr.WP_FLAG,
'Y', wbs_hdr.WBS_VERSION_ID,
-1) = decode(wbs_hdr.WP_FLAG,
'Y', prg.SUB_ID,
-1) and
wbs_hdr.PLAN_VERSION_ID = fpr.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = fpr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(fpr.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(fpr.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get structure level amounts from interim
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'DO_NOT_ROLLUP',
'WBS') STRUCT_TYPE,
to_char(null) LINE_TYPE,
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
decode(pjp1.PLAN_VERSION_ID,
-1, prg.SUB_ID,
-3, prg.SUB_ID,
-4, prg.SUB_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
prg.SUB_ID)) SUB_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, 'N',
-3, 'N',
-4, 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, null,
'N')) SUP_WP_FLAG,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID,
-4, pjp1.PLAN_VERSION_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
fin_plan.PLAN_VERSION_ID)
) SUB_PLAN_VERSION_ID,
decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_TYPE_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
decode(fin_plan.PLAN_VERSION_ID,
null, null,
pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(wbs_hdr.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
fin_plan.PLAN_VERSION_ID),
sup_wbs_hdr.PLAN_VERSION_ID) PLAN_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', pjp1.PLAN_TYPE_ID,
sup_wbs_hdr.PLAN_TYPE_ID) PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.RAW_COST) RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BRDN_COST) BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.REVENUE) REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_RAW_COST) BILL_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_HRS) LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.LABOR_REVENUE) LABOR_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sub_ver.STATUS_CODE
|| '_' || sup_ver.STATUS_CODE,
'Y_Y__', to_number(null),
'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_RAW_COST) ACT_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_REVENUE) ACT_REVENUE,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_RAW_COST) ETC_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(wbs_hdr.WP_FLAG
|| '_' || sup_wbs_hdr.WP_FLAG
|| '_' || sup_ver.STATUS_CODE,
'Y_Y_', to_number(null),
pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta,
PJI_PJP_WBS_HEADER sup_wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
(((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
('T', 'Y', 'N'),
('T', 'N', 'Y'),
('T', 'N', 'N'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
((pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
('L', 'N', 'N')) and
pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID)) and
decode(pjp1.PLAN_VERSION_ID,
-1, 'LF',
-2, 'LF',
-3, 'LF',
-4, 'LF',
decode(wbs_hdr.WP_FLAG,
'N', 'LF',
'LW')) = prg.RELATIONSHIP_TYPE and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y',
-4, 'Y',
decode(pjp1.RBS_AGGR_LEVEL
|| '_' || wbs_hdr.CB_FLAG
|| '_' || wbs_hdr.CO_FLAG,
'L_Y_Y', 'Y',
'L_N_Y', 'Y',
'L_Y_N', 'Y',
'N')),
'Y') = 'Y' and
prg.SUP_PROJECT_ID = sup_wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = sup_wbs_hdr.WBS_VERSION_ID (+) and
'Y' = sup_wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sub_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
sup_wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
sup_wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+)
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(pjp.SUP_WP_FLAG is null or
(pjp.SUP_WP_FLAG is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N'))) and
'WBS' = wbs.STRUCT_TYPE (+) and
pjp.STRUCT_TYPE = wbs.STRUCT_TYPE (+) and
pjp.SUP_PROJECT_ID = wbs.SUP_PROJECT_ID (+) and
pjp.SUP_ID = wbs.STRUCT_VERSION_ID (+) and
pjp.SUB_ROLLUP_ID = wbs.SUB_EMT_ID (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.LINE_TYPE,
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(pjp.STRUCT_TYPE,
'DO_NOT_ROLLUP', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y'))
),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
pjp.PLAN_VERSION_ID,
pjp.PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P1)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P2)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P3)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P4)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P5)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P6)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P7)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P8)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P9)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P10)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select /*+ no_merge(pjp) */
p_worker_id WORKER_ID,
'P' RECORD_TYPE,
l_level PRG_LEVEL,
pjp.SUP_PROJECT_ID PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')) WBS_ROLLUP_FLAG,
'Y' PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
sum(pjp.REVENUE) REVENUE,
sum(pjp.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
-- get structure level amounts from Reporting Lines
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'ACR' LINE_SOURCE,
prg.SUB_ID,
acr.TIME_ID,
acr.PERIOD_TYPE_ID,
acr.CALENDAR_TYPE,
acr.CURR_RECORD_TYPE_ID,
acr.CURRENCY_CODE,
prg.SIGN * acr.REVENUE REVENUE,
prg.SIGN * acr.INITIAL_FUNDING_AMOUNT INITIAL_FUNDING_AMOUNT,
prg.SIGN * acr.INITIAL_FUNDING_COUNT INITIAL_FUNDING_COUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT ADDITIONAL_FUNDING_COUNT,
prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT CANCELLED_FUNDING_AMOUNT,
prg.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT FUNDING_ADJUSTMENT_COUNT,
prg.SIGN * acr.REVENUE_WRITEOFF REVENUE_WRITEOFF,
prg.SIGN * acr.AR_INVOICE_AMOUNT AR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_INVOICE_COUNT AR_INVOICE_COUNT,
prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT AR_CASH_APPLIED_AMOUNT,
prg.SIGN *
acr.AR_INVOICE_WRITE_OFF_AMOUNT AR_INVOICE_WRITE_OFF_AMOUNT,
prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT AR_CREDIT_MEMO_AMOUNT,
prg.SIGN * acr.AR_CREDIT_MEMO_COUNT AR_CREDIT_MEMO_COUNT,
prg.SIGN * acr.UNBILLED_RECEIVABLES UNBILLED_RECEIVABLES,
prg.SIGN * acr.UNEARNED_REVENUE UNEARNED_REVENUE,
prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT AR_UNAPPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT AR_APPR_INVOICE_AMOUNT,
prg.SIGN * acr.AR_APPR_INVOICE_COUNT AR_APPR_INVOICE_COUNT,
prg.SIGN * acr.AR_AMOUNT_DUE AR_AMOUNT_DUE,
prg.SIGN * acr.AR_COUNT_DUE AR_COUNT_DUE,
prg.SIGN * acr.AR_AMOUNT_OVERDUE AR_AMOUNT_OVERDUE,
prg.SIGN * acr.AR_COUNT_OVERDUE AR_COUNT_OVERDUE,
prg.SIGN * acr.CUSTOM1 CUSTOM1,
prg.SIGN * acr.CUSTOM2 CUSTOM2,
prg.SIGN * acr.CUSTOM3 CUSTOM3,
prg.SIGN * acr.CUSTOM4 CUSTOM4,
prg.SIGN * acr.CUSTOM5 CUSTOM5,
prg.SIGN * acr.CUSTOM6 CUSTOM6,
prg.SIGN * acr.CUSTOM7 CUSTOM7,
prg.SIGN * acr.CUSTOM8 CUSTOM8,
prg.SIGN * acr.CUSTOM9 CUSTOM9,
prg.SIGN * acr.CUSTOM10 CUSTOM10,
prg.SIGN * acr.CUSTOM11 CUSTOM11,
prg.SIGN * acr.CUSTOM12 CUSTOM12,
prg.SIGN * acr.CUSTOM13 CUSTOM13,
prg.SIGN * acr.CUSTOM14 CUSTOM14,
prg.SIGN * acr.CUSTOM15 CUSTOM15
from
PJI_XBS_DENORM_DELTA prg,
PA_PROJ_ELEMENTS prj_emt,
PJI_PJP_WBS_HEADER wbs_hdr,
PJI_AC_XBS_ACCUM_F acr
where
prg.WORKER_ID = p_worker_id and
prg.STRUCT_TYPE = 'PRG' and
prg.RELATIONSHIP_TYPE = 'LF' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
acr.WBS_ROLLUP_FLAG in ('Y', 'N') and
acr.PRG_ROLLUP_FLAG in ('Y', 'N') and
acr.PROJECT_ID = prj_emt.PROJECT_ID and
acr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
union all
select /*+ ordered parallel(pjp1) */ -- changed for bug 5927368
-- get program rollup amounts
prg.SUP_PROJECT_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
'PJP1' LINE_SOURCE,
prg.SUB_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.REVENUE,
pjp1.INITIAL_FUNDING_AMOUNT,
pjp1.INITIAL_FUNDING_COUNT,
pjp1.ADDITIONAL_FUNDING_AMOUNT,
pjp1.ADDITIONAL_FUNDING_COUNT,
pjp1.CANCELLED_FUNDING_AMOUNT,
pjp1.CANCELLED_FUNDING_COUNT,
pjp1.FUNDING_ADJUSTMENT_AMOUNT,
pjp1.FUNDING_ADJUSTMENT_COUNT,
pjp1.REVENUE_WRITEOFF,
pjp1.AR_INVOICE_AMOUNT,
pjp1.AR_INVOICE_COUNT,
pjp1.AR_CASH_APPLIED_AMOUNT,
pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
pjp1.AR_INVOICE_WRITEOFF_COUNT,
pjp1.AR_CREDIT_MEMO_AMOUNT,
pjp1.AR_CREDIT_MEMO_COUNT,
pjp1.UNBILLED_RECEIVABLES,
pjp1.UNEARNED_REVENUE,
pjp1.AR_UNAPPR_INVOICE_AMOUNT,
pjp1.AR_UNAPPR_INVOICE_COUNT,
pjp1.AR_APPR_INVOICE_AMOUNT,
pjp1.AR_APPR_INVOICE_COUNT,
pjp1.AR_AMOUNT_DUE,
pjp1.AR_COUNT_DUE,
pjp1.AR_AMOUNT_OVERDUE,
pjp1.AR_COUNT_OVERDUE,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENTS prj_emt,
PA_XBS_DENORM prg,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
nvl(prg.SUB_ROLLUP_ID,
prg.SUP_EMT_ID) <> prg.SUP_EMT_ID and
prg.RELATIONSHIP_TYPE = 'LF' and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
1 = prg_delta.SIGN (+) and
(prg_delta.SUP_PROJECT_ID is not null or
(prg_delta.SUP_PROJECT_ID is null and
pjp1.RECORD_TYPE = 'P')) and
pjp1.WORKER_ID = p_worker_id and
pjp1.PRG_LEVEL in (0, prg.SUB_LEVEL) and
pjp1.WBS_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = prj_emt.PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID and
prg.STRUCT_VERSION_ID is null and
prj_emt.OBJECT_TYPE = 'PA_STRUCTURES' and
prj_emt.PROJ_ELEMENT_ID = prg.SUB_EMT_ID and
wbs_hdr.PROJECT_ID = prj_emt.PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUB_ID and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = -1
) pjp,
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_WORKPLAN_ATTR sup_wpa,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_XBS_DENORM wbs,
(
select 1 WBS_SUP_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = pjp.SUP_PROJECT_ID and
pjp.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID and
pjp.SUP_PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.WP_ENABLE_VERSION_FLAG = 'N') and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = map.PROJECT_ID and
wbs.SUP_PROJECT_ID = pjp.SUP_PROJECT_ID and
wbs.STRUCT_VERSION_ID = pjp.SUP_ID and
wbs.SUB_EMT_ID = pjp.SUB_ROLLUP_ID and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+)
group by
pjp.SUP_PROJECT_ID,
map.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', pjp.SUP_EMT_ID,
wbs.SUP_EMT_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
decode(top_slice.INVERT_ID,
'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
wbs.SUP_EMT_ID,
'N', 'Y')),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE;
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P1)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P1)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P2)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P2)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P3)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P3)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P4)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P4)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P5)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P5)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P6)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P6)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P7)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P7)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P8)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P8)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P9)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P9)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P10)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
0 , /* pjp1.PRG_LEVEL, 6266824 sridhar commented as this is required and also impact of Merge changes */
'AGGR_PLAN' LINE_TYPE,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
sum(pjp1.RAW_COST) RAW_COST,
sum(pjp1.BRDN_COST) BRDN_COST,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp1.LABOR_HRS) LABOR_HRS,
sum(pjp1.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp1.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp1.ACT_REVENUE) ACT_REVENUE,
sum(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp1.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
/* pjp1.PRG_LEVEL, -- 6266824 sridhar not required and also impact of merge change */
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
having not
(nvl(sum(pjp1.RAW_COST), 0) = 0 and
nvl(sum(pjp1.BRDN_COST), 0) = 0 and
nvl(sum(pjp1.REVENUE), 0) = 0 and
nvl(sum(pjp1.BILL_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.BILL_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.LABOR_REVENUE), 0) = 0 and
nvl(sum(pjp1.EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PO_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.PR_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ACT_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_REVENUE), 0) = 0 and
nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_BRDN_COST), 0) = 0 and
nvl(sum(pjp1.ETC_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(pjp1.CUSTOM1), 0) = 0 and
nvl(sum(pjp1.CUSTOM2), 0) = 0 and
nvl(sum(pjp1.CUSTOM3), 0) = 0 and
nvl(sum(pjp1.CUSTOM4), 0) = 0 and
nvl(sum(pjp1.CUSTOM5), 0) = 0 and
nvl(sum(pjp1.CUSTOM6), 0) = 0 and
nvl(sum(pjp1.CUSTOM7), 0) = 0 and
nvl(sum(pjp1.CUSTOM8), 0) = 0 and
nvl(sum(pjp1.CUSTOM9), 0) = 0 and
nvl(sum(pjp1.CUSTOM10), 0) = 0 and
nvl(sum(pjp1.CUSTOM11), 0) = 0 and
nvl(sum(pjp1.CUSTOM12), 0) = 0 and
nvl(sum(pjp1.CUSTOM13), 0) = 0 and
nvl(sum(pjp1.CUSTOM14), 0) = 0 and
nvl(sum(pjp1.CUSTOM15), 0) = 0);
insert /*+ parallel(PJI_AC_AGGR_PJP1) */
into PJI_AC_AGGR_PJP1 partition(P10)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
REVENUE,
INITIAL_FUNDING_AMOUNT,
INITIAL_FUNDING_COUNT,
ADDITIONAL_FUNDING_AMOUNT,
ADDITIONAL_FUNDING_COUNT,
CANCELLED_FUNDING_AMOUNT,
CANCELLED_FUNDING_COUNT,
FUNDING_ADJUSTMENT_AMOUNT,
FUNDING_ADJUSTMENT_COUNT,
REVENUE_WRITEOFF,
AR_INVOICE_AMOUNT,
AR_INVOICE_COUNT,
AR_CASH_APPLIED_AMOUNT,
AR_INVOICE_WRITE_OFF_AMOUNT,
AR_INVOICE_WRITEOFF_COUNT,
AR_CREDIT_MEMO_AMOUNT,
AR_CREDIT_MEMO_COUNT,
UNBILLED_RECEIVABLES,
UNEARNED_REVENUE,
AR_UNAPPR_INVOICE_AMOUNT,
AR_UNAPPR_INVOICE_COUNT,
AR_APPR_INVOICE_AMOUNT,
AR_APPR_INVOICE_COUNT,
AR_AMOUNT_DUE,
AR_COUNT_DUE,
AR_AMOUNT_OVERDUE,
AR_COUNT_OVERDUE,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1.WORKER_ID,
'A' RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
sum(pjp1.REVENUE) REVENUE,
sum(pjp1.INITIAL_FUNDING_AMOUNT) INITIAL_FUNDING_AMOUNT,
sum(pjp1.INITIAL_FUNDING_COUNT) INITIAL_FUNDING_COUNT,
sum(pjp1.ADDITIONAL_FUNDING_AMOUNT) ADDITIONAL_FUNDING_AMOUNT,
sum(pjp1.ADDITIONAL_FUNDING_COUNT) ADDITIONAL_FUNDING_COUNT,
sum(pjp1.CANCELLED_FUNDING_AMOUNT) CANCELLED_FUNDING_AMOUNT,
sum(pjp1.CANCELLED_FUNDING_COUNT) CANCELLED_FUNDING_COUNT,
sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT) FUNDING_ADJUSTMENT_AMOUNT,
sum(pjp1.FUNDING_ADJUSTMENT_COUNT) FUNDING_ADJUSTMENT_COUNT,
sum(pjp1.REVENUE_WRITEOFF) REVENUE_WRITEOFF,
sum(pjp1.AR_INVOICE_AMOUNT) AR_INVOICE_AMOUNT,
sum(pjp1.AR_INVOICE_COUNT) AR_INVOICE_COUNT,
sum(pjp1.AR_CASH_APPLIED_AMOUNT) AR_CASH_APPLIED_AMOUNT,
sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT) AR_INVOICE_WRITE_OFF_AMOUNT,
sum(pjp1.AR_INVOICE_WRITEOFF_COUNT) AR_INVOICE_WRITEOFF_COUNT,
sum(pjp1.AR_CREDIT_MEMO_AMOUNT) AR_CREDIT_MEMO_AMOUNT,
sum(pjp1.AR_CREDIT_MEMO_COUNT) AR_CREDIT_MEMO_COUNT,
sum(pjp1.UNBILLED_RECEIVABLES) UNBILLED_RECEIVABLES,
sum(pjp1.UNEARNED_REVENUE) UNEARNED_REVENUE,
sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT) AR_UNAPPR_INVOICE_AMOUNT,
sum(pjp1.AR_UNAPPR_INVOICE_COUNT) AR_UNAPPR_INVOICE_COUNT,
sum(pjp1.AR_APPR_INVOICE_AMOUNT) AR_APPR_INVOICE_AMOUNT,
sum(pjp1.AR_APPR_INVOICE_COUNT) AR_APPR_INVOICE_COUNT,
sum(pjp1.AR_AMOUNT_DUE) AR_AMOUNT_DUE,
sum(pjp1.AR_COUNT_DUE) AR_COUNT_DUE,
sum(pjp1.AR_AMOUNT_OVERDUE) AR_AMOUNT_OVERDUE,
sum(pjp1.AR_COUNT_OVERDUE) AR_COUNT_OVERDUE,
sum(pjp1.CUSTOM1) CUSTOM1,
sum(pjp1.CUSTOM2) CUSTOM2,
sum(pjp1.CUSTOM3) CUSTOM3,
sum(pjp1.CUSTOM4) CUSTOM4,
sum(pjp1.CUSTOM5) CUSTOM5,
sum(pjp1.CUSTOM6) CUSTOM6,
sum(pjp1.CUSTOM7) CUSTOM7,
sum(pjp1.CUSTOM8) CUSTOM8,
sum(pjp1.CUSTOM9) CUSTOM9,
sum(pjp1.CUSTOM10) CUSTOM10,
sum(pjp1.CUSTOM11) CUSTOM11,
sum(pjp1.CUSTOM12) CUSTOM12,
sum(pjp1.CUSTOM13) CUSTOM13,
sum(pjp1.CUSTOM14) CUSTOM14,
sum(pjp1.CUSTOM15) CUSTOM15
from
PJI_AC_AGGR_PJP1 pjp1
where
pjp1.WORKER_ID = p_worker_id
group by
pjp1.WORKER_ID,
pjp1.PRG_LEVEL,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE
having not
(nvl(sum(REVENUE), 0) = 0 and
nvl(sum(INITIAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(INITIAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(ADDITIONAL_FUNDING_COUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_AMOUNT), 0) = 0 and
nvl(sum(CANCELLED_FUNDING_COUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0) = 0 and
nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0) = 0 and
nvl(sum(REVENUE_WRITEOFF), 0) = 0 and
nvl(sum(AR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_CASH_APPLIED_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0) = 0 and
nvl(sum(AR_CREDIT_MEMO_COUNT), 0) = 0 and
nvl(sum(UNBILLED_RECEIVABLES), 0) = 0 and
nvl(sum(UNEARNED_REVENUE), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_AMOUNT), 0) = 0 and
nvl(sum(AR_APPR_INVOICE_COUNT), 0) = 0 and
nvl(sum(AR_AMOUNT_DUE), 0) = 0 and
nvl(sum(AR_COUNT_DUE), 0) = 0 and
nvl(sum(AR_AMOUNT_OVERDUE), 0) = 0 and
nvl(sum(AR_COUNT_OVERDUE), 0) = 0 and
nvl(sum(CUSTOM1), 0) = 0 and
nvl(sum(CUSTOM2), 0) = 0 and
nvl(sum(CUSTOM3), 0) = 0 and
nvl(sum(CUSTOM4), 0) = 0 and
nvl(sum(CUSTOM5), 0) = 0 and
nvl(sum(CUSTOM6), 0) = 0 and
nvl(sum(CUSTOM7), 0) = 0 and
nvl(sum(CUSTOM8), 0) = 0 and
nvl(sum(CUSTOM9), 0) = 0 and
nvl(sum(CUSTOM10), 0) = 0 and
nvl(sum(CUSTOM11), 0) = 0 and
nvl(sum(CUSTOM12), 0) = 0 and
nvl(sum(CUSTOM13), 0) = 0 and
nvl(sum(CUSTOM14), 0) = 0 and
nvl(sum(CUSTOM15), 0) = 0);
select distinct batch_id,worker_id
from pji_helper_420
where worker_id = PJI_PJP_FP_CURR_WRAP.GET_WORKER_ID
order by batch_id;
insert into pji_helper_420 (worker_id, project_id, batch_id, level_420, partial_mode_420, fpm_upgrade_420)
(select worker_id, project_id, ceil(ROWNUM / l_batch_size) batch_id, l_level, l_partial_mode, l_fpm_upgrade
FROM pji_pjp_proj_batch_map
WHERE worker_id = g_worker_id );
SELECT /*+ parallel(pji_merge_helper) */
COUNT(DISTINCT batch_id)
INTO l_batch_count
FROM pji_helper_420
where worker_id = g_worker_id;
insert into pji_batch_status_420
(worker_id,batch_id,request_id,request_status)
values(rec.worker_id,rec.batch_id,l_request_id,'RUNNING');
UPDATE_BATCH_CONC_STATUS_420;
select count(*) into l_run_count
from pji_batch_status_420
where request_status = 'RUNNING';
UPDATE_BATCH_CONC_STATUS_420;
select count(*) into l_run_count
from pji_batch_status_420
where request_status = 'RUNNING';
select count(*) into l_error_count
from pji_batch_status_420
where request_status = 'ERRORED';
PROCEDURE UPDATE_BATCH_CONC_STATUS_420 IS
l_rowcount number := 0;
SELECT * FROM pji_batch_status_420
WHERE request_status = 'RUNNING';
l_Batch_t.delete;
update pji_batch_status_420
set request_status = l_Batch_t(i).request_status
where request_id = l_Batch_t(i).request_id;
end UPDATE_BATCH_CONC_STATUS_420;
l_last_update_date date := SYSDATE;
l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
select
worker_id,
level_420,
partial_mode_420,
fpm_upgrade_420
from pji_helper_420
where batch_id = x_batch_id;
insert into PJI_PJP_WBS_HEADER_T
(
PROJECT_ID,
PLAN_VERSION_ID,
WBS_VERSION_ID,
WP_FLAG,
CB_FLAG,
CO_FLAG,
LOCK_FLAG,
PLAN_TYPE_ID,
MIN_TXN_DATE,
MAX_TXN_DATE,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
PLAN_TYPE_CODE)
select
PROJECT_ID,
PLAN_VERSION_ID,
WBS_VERSION_ID,
WP_FLAG,
CB_FLAG,
CO_FLAG,
LOCK_FLAG,
PLAN_TYPE_ID,
MIN_TXN_DATE,
MAX_TXN_DATE,
LAST_UPDATE_DATE ,
LAST_UPDATED_BY ,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
PLAN_TYPE_CODE
from PJI_PJP_WBS_HEADER a
where a.project_id in ( select b.project_id from PJI_PJP_PROJ_BATCH_MAP b
where b.worker_id = p_worker_id );
insert into PJI_PA_XBS_DENORM_T
(STRUCT_TYPE,
PRG_GROUP,
STRUCT_VERSION_ID,
SUP_PROJECT_ID,
SUP_ID,
SUP_EMT_ID,
SUBRO_ID,
SUB_ID,
SUB_EMT_ID,
SUP_LEVEL,
SUB_LEVEL,
SUB_ROLLUP_ID,
SUB_LEAF_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
STRUCT_EMT_ID,
RELATIONSHIP_TYPE)
select
STRUCT_TYPE,
PRG_GROUP,
STRUCT_VERSION_ID,
SUP_PROJECT_ID,
SUP_ID,
SUP_EMT_ID,
SUBRO_ID,
SUB_ID,
SUB_EMT_ID,
SUP_LEVEL,
SUB_LEVEL,
SUB_ROLLUP_ID,
SUB_LEAF_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
STRUCT_EMT_ID,
RELATIONSHIP_TYPE
from PA_XBS_DENORM a
where a.STRUCT_VERSION_ID in ( select /*+ cardinality(b,1) */ b.wbs_VERSION_ID -- Hint added for bug 11694228
from PJI_PJP_WBS_HEADER_T b, PJI_PJP_PROJ_BATCH_MAP c
where c.worker_id = p_worker_id
and b.project_id = c.project_id)
and a.struct_type||'' = 'WBS'||'';
insert into PJI_XBS_DENORM_T
(STRUCT_TYPE,
PRG_GROUP,
STRUCT_VERSION_ID,
SUP_PROJECT_ID,
SUP_ID,
SUP_EMT_ID,
SUBRO_ID,
SUB_ID,
SUB_EMT_ID,
SUP_LEVEL,
SUB_LEVEL,
SUB_ROLLUP_ID,
SUB_LEAF_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
STRUCT_EMT_ID,
RELATIONSHIP_TYPE)
select
STRUCT_TYPE,
PRG_GROUP,
STRUCT_VERSION_ID,
SUP_PROJECT_ID,
SUP_ID,
SUP_EMT_ID,
SUBRO_ID,
SUB_ID,
SUB_EMT_ID,
SUP_LEVEL,
SUB_LEVEL,
SUB_ROLLUP_ID,
SUB_LEAF_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
STRUCT_EMT_ID,
RELATIONSHIP_TYPE
from PJI_XBS_DENORM a
where a.SUP_PROJECT_ID in ( select distinct b.SUP_PROJECT_ID
from PJI_PA_XBS_DENORM_T b, PJI_PJP_PROJ_BATCH_MAP c
where c.worker_id = p_worker_id
and b.sup_project_id = c.project_id);
insert into PJI_XBS_DENORM_T
(STRUCT_TYPE,
PRG_GROUP,
STRUCT_VERSION_ID,
SUP_PROJECT_ID,
SUP_ID,
SUP_EMT_ID,
SUBRO_ID,
SUB_ID,
SUB_EMT_ID,
SUP_LEVEL,
SUB_LEVEL,
SUB_ROLLUP_ID,
SUB_LEAF_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
STRUCT_EMT_ID,
RELATIONSHIP_TYPE)
select
STRUCT_TYPE,
PRG_GROUP,
STRUCT_VERSION_ID,
SUP_PROJECT_ID,
SUP_ID,
SUP_EMT_ID,
SUBRO_ID,
SUB_ID,
SUB_EMT_ID,
SUP_LEVEL,
SUB_LEVEL,
SUB_ROLLUP_ID,
SUB_LEAF_FLAG,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN,
STRUCT_EMT_ID,
RELATIONSHIP_TYPE
from PJI_XBS_DENORM a
where a.SUP_PROJECT_ID in ( select b.PROJECT_ID
from PJI_PJP_PROJ_BATCH_MAP b
where b.worker_id = p_worker_id )
and not exists ( select 'x' from PJI_PJP_PROJ_BATCH_MAP c
where c.worker_id = p_worker_id and c.project_id = a.sup_project_id );
insert /*+ parallel(PJI_FP_AGGR_PJP1) */
into PJI_FP_AGGR_PJP1 partition(P1)
(
WORKER_ID,
RECORD_TYPE,
PRG_LEVEL,
LINE_TYPE,
PROJECT_ID,
PROJECT_ORG_ID,
PROJECT_ORGANIZATION_ID,
PROJECT_ELEMENT_ID,
TIME_ID,
PERIOD_TYPE_ID,
CALENDAR_TYPE,
RBS_AGGR_LEVEL,
WBS_ROLLUP_FLAG,
PRG_ROLLUP_FLAG,
CURR_RECORD_TYPE_ID,
CURRENCY_CODE,
RBS_ELEMENT_ID,
RBS_VERSION_ID,
PLAN_VERSION_ID,
PLAN_TYPE_ID,
PLAN_TYPE_CODE,
RAW_COST,
BRDN_COST,
REVENUE,
BILL_RAW_COST,
BILL_BRDN_COST,
BILL_LABOR_RAW_COST,
BILL_LABOR_BRDN_COST,
BILL_LABOR_HRS,
EQUIPMENT_RAW_COST,
EQUIPMENT_BRDN_COST,
CAPITALIZABLE_RAW_COST,
CAPITALIZABLE_BRDN_COST,
LABOR_RAW_COST,
LABOR_BRDN_COST,
LABOR_HRS,
LABOR_REVENUE,
EQUIPMENT_HOURS,
BILLABLE_EQUIPMENT_HOURS,
SUP_INV_COMMITTED_COST,
PO_COMMITTED_COST,
PR_COMMITTED_COST,
OTH_COMMITTED_COST,
ACT_LABOR_HRS,
ACT_EQUIP_HRS,
ACT_LABOR_BRDN_COST,
ACT_EQUIP_BRDN_COST,
ACT_BRDN_COST,
ACT_RAW_COST,
ACT_REVENUE,
ACT_LABOR_RAW_COST,
ACT_EQUIP_RAW_COST,
ETC_LABOR_HRS,
ETC_EQUIP_HRS,
ETC_LABOR_BRDN_COST,
ETC_EQUIP_BRDN_COST,
ETC_BRDN_COST,
ETC_RAW_COST,
ETC_LABOR_RAW_COST,
ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
)
select
pjp1_i.WORKER_ID,
pjp1_i.RECORD_TYPE,
pjp1_i.PRG_LEVEL,
pjp1_i.LINE_TYPE,
pjp1_i.PROJECT_ID,
pjp1_i.PROJECT_ORG_ID,
pjp1_i.PROJECT_ORGANIZATION_ID,
pjp1_i.PROJECT_ELEMENT_ID,
pjp1_i.TIME_ID,
pjp1_i.PERIOD_TYPE_ID,
pjp1_i.CALENDAR_TYPE,
pjp1_i.RBS_AGGR_LEVEL,
pjp1_i.WBS_ROLLUP_FLAG,
pjp1_i.PRG_ROLLUP_FLAG,
pjp1_i.CURR_RECORD_TYPE_ID,
pjp1_i.CURRENCY_CODE,
pjp1_i.RBS_ELEMENT_ID,
pjp1_i.RBS_VERSION_ID,
pjp1_i.PLAN_VERSION_ID,
pjp1_i.PLAN_TYPE_ID,
pjp1_i.PLAN_TYPE_CODE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.RAW_COST)) RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BRDN_COST)) BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.REVENUE)) REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_RAW_COST)) BILL_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_BRDN_COST)) BILL_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_RAW_COST)) BILL_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_BRDN_COST)) BILL_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILL_LABOR_HRS)) BILL_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_RAW_COST)) EQUIPMENT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_BRDN_COST)) EQUIPMENT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_RAW_COST)) CAPITALIZABLE_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.CAPITALIZABLE_BRDN_COST)) CAPITALIZABLE_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_RAW_COST)) LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_BRDN_COST)) LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_HRS)) LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.LABOR_REVENUE)) LABOR_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.EQUIPMENT_HOURS)) EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.BILLABLE_EQUIPMENT_HOURS)) BILLABLE_EQUIPMENT_HOURS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.SUP_INV_COMMITTED_COST)) SUP_INV_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PO_COMMITTED_COST)) PO_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.PR_COMMITTED_COST)) PR_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUB_STATUS_CODE
|| '_' || pjp1_i.SUP_STATUS_CODE,
'LW_N_Y__', to_number(null),
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_VER_ENABLED
|| '_' || l_fpm_upgrade
|| '_' || l_partial_mode,
'LW_N_Y_Y_C_', to_number(null),
pjp1_i.OTH_COMMITTED_COST)) OTH_COMMITTED_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_HRS) ACT_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_BRDN_COST) ACT_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_RAW_COST) ACT_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_REVENUE) ACT_REVENUE,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_HRS) ETC_LABOR_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_BRDN_COST) ETC_BRDN_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_RAW_COST) ETC_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
decode(pjp1_i.RELATIONSHIP_TYPE
|| '_' || pjp1_i.WBS_ROLLUP_FLAG
|| '_' || pjp1_i.PRG_ROLLUP_FLAG
|| '_' || pjp1_i.SUP_STATUS_CODE
|| '_' || l_partial_mode,
'LW_N_Y__', to_number(null),
pjp1_i.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
pjp1_i.CUSTOM1,
pjp1_i.CUSTOM2,
pjp1_i.CUSTOM3,
pjp1_i.CUSTOM4,
pjp1_i.CUSTOM5,
pjp1_i.CUSTOM6,
pjp1_i.CUSTOM7,
pjp1_i.CUSTOM8,
pjp1_i.CUSTOM9,
pjp1_i.CUSTOM10,
pjp1_i.CUSTOM11,
pjp1_i.CUSTOM12,
pjp1_i.CUSTOM13,
pjp1_i.CUSTOM14,
pjp1_i.CUSTOM15
from
(
select
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y') INSERT_FLAG,
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE) SUB_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE) SUP_STATUS_CODE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)) SUP_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)) SUP_EMT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)) SUP_WP_FLAG,
p_worker_id WORKER_ID,
'W' RECORD_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL) PRG_LEVEL,
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID) PROJECT_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID) PROJECT_ORG_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID) PROJECT_ORGANIZATION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID) PROJECT_ELEMENT_ID,
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N') WBS_ROLLUP_FLAG,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y') PRG_ROLLUP_FLAG,
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)) PLAN_TYPE_ID,
pjp.PLAN_TYPE_CODE,
sum(pjp.RAW_COST) RAW_COST,
sum(pjp.BRDN_COST) BRDN_COST,
sum(pjp.REVENUE) REVENUE,
sum(pjp.BILL_RAW_COST) BILL_RAW_COST,
sum(pjp.BILL_BRDN_COST) BILL_BRDN_COST,
sum(pjp.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(pjp.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(pjp.BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(pjp.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(pjp.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(pjp.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(pjp.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(pjp.LABOR_RAW_COST) LABOR_RAW_COST,
sum(pjp.LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(pjp.LABOR_HRS) LABOR_HRS,
sum(pjp.LABOR_REVENUE) LABOR_REVENUE,
sum(pjp.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(pjp.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(pjp.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(pjp.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(pjp.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(pjp.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(pjp.ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(pjp.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(pjp.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(pjp.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(pjp.ACT_BRDN_COST) ACT_BRDN_COST,
sum(pjp.ACT_RAW_COST) ACT_RAW_COST,
sum(pjp.ACT_REVENUE) ACT_REVENUE,
sum(pjp.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(pjp.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(pjp.ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(pjp.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(pjp.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(pjp.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(pjp.ETC_BRDN_COST) ETC_BRDN_COST,
sum(pjp.ETC_RAW_COST) ETC_RAW_COST,
sum(pjp.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(pjp.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(pjp.CUSTOM1) CUSTOM1,
sum(pjp.CUSTOM2) CUSTOM2,
sum(pjp.CUSTOM3) CUSTOM3,
sum(pjp.CUSTOM4) CUSTOM4,
sum(pjp.CUSTOM5) CUSTOM5,
sum(pjp.CUSTOM6) CUSTOM6,
sum(pjp.CUSTOM7) CUSTOM7,
sum(pjp.CUSTOM8) CUSTOM8,
sum(pjp.CUSTOM9) CUSTOM9,
sum(pjp.CUSTOM10) CUSTOM10,
sum(pjp.CUSTOM11) CUSTOM11,
sum(pjp.CUSTOM12) CUSTOM12,
sum(pjp.CUSTOM13) CUSTOM13,
sum(pjp.CUSTOM14) CUSTOM14,
sum(pjp.CUSTOM15) CUSTOM15
from
(
select /*+ leading(helper) index(wbs PA_XBS_DENORM_N2) parallel(pjp1) use_hash(pjp1) */
-- get incremental task level amounts from source and
-- program rollup amounts from interim
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
'N_1_PRJ', 'N',
'N_-1_PRG', 'N',
decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N'))) PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
|| '_' || fin_plan.INVERT_ID,
'N_1_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
'N_-1_PRG', 'N',
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_'
|| to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y'))
) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_HELPER_420 helper,
PJI_PJP_WBS_HEADER_T wbs_hdr,
PA_XBS_DENORM wbs,
PJI_XBS_DENORM_T prg,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.STRUCT_TYPE = 'WBS' and
((wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1) or
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL)) and
wbs.STRUCT_VERSION_ID = prg.SUP_ID and
helper.project_id = pjp1.project_id and
helper.batch_id = p_batch_id and
helper.worker_id = pjp1.worker_id and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PRG_LEVEL in (0, l_level) and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG in ('Y', 'N') and
pjp1.PROJECT_ID = wbs_hdr.PROJECT_ID and
pjp1.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
pjp1.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_TYPE_ID,
-4, pjp1.PLAN_TYPE_ID,
-1) = decode(pjp1.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs.STRUCT_VERSION_ID = wbs_hdr.WBS_VERSION_ID and
pjp1.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+)
union all
select /*+ leading(helper) parallel(pjp1) use_hash(pjp1) */
-- get incremental project level amounts from source
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
'Y' PUSHUP_FLAG,
decode(pjp1.RBS_AGGR_LEVEL,
'L', 'N',
decode(fin_plan.PLAN_VERSION_ID,
null, 'N', 'Y')) INSERT_FLAG,
pjp1.PROJECT_ID,
pjp1.PROJECT_ORG_ID,
pjp1.PROJECT_ORGANIZATION_ID,
pjp1.PROJECT_ELEMENT_ID,
pjp1.TIME_ID,
pjp1.PERIOD_TYPE_ID,
pjp1.CALENDAR_TYPE,
pjp1.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, pjp1.PLAN_VERSION_ID,
-2, pjp1.PLAN_VERSION_ID,
-3, pjp1.PLAN_VERSION_ID, -- won't exist
-4, pjp1.PLAN_VERSION_ID, -- won't exist
fin_plan.PLAN_VERSION_ID),
pjp1.PLAN_VERSION_ID) PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
pjp1.RAW_COST,
pjp1.BRDN_COST,
pjp1.REVENUE,
pjp1.BILL_RAW_COST,
pjp1.BILL_BRDN_COST,
pjp1.BILL_LABOR_RAW_COST,
pjp1.BILL_LABOR_BRDN_COST,
pjp1.BILL_LABOR_HRS,
pjp1.EQUIPMENT_RAW_COST,
pjp1.EQUIPMENT_BRDN_COST,
pjp1.CAPITALIZABLE_RAW_COST,
pjp1.CAPITALIZABLE_BRDN_COST,
pjp1.LABOR_RAW_COST,
pjp1.LABOR_BRDN_COST,
pjp1.LABOR_HRS,
pjp1.LABOR_REVENUE,
pjp1.EQUIPMENT_HOURS,
pjp1.BILLABLE_EQUIPMENT_HOURS,
pjp1.SUP_INV_COMMITTED_COST,
pjp1.PO_COMMITTED_COST,
pjp1.PR_COMMITTED_COST,
pjp1.OTH_COMMITTED_COST,
pjp1.ACT_LABOR_HRS,
pjp1.ACT_EQUIP_HRS,
pjp1.ACT_LABOR_BRDN_COST,
pjp1.ACT_EQUIP_BRDN_COST,
pjp1.ACT_BRDN_COST,
pjp1.ACT_RAW_COST,
pjp1.ACT_REVENUE,
pjp1.ACT_LABOR_RAW_COST,
pjp1.ACT_EQUIP_RAW_COST,
pjp1.ETC_LABOR_HRS,
pjp1.ETC_EQUIP_HRS,
pjp1.ETC_LABOR_BRDN_COST,
pjp1.ETC_EQUIP_BRDN_COST,
pjp1.ETC_BRDN_COST,
pjp1.ETC_RAW_COST,
pjp1.ETC_LABOR_RAW_COST,
pjp1.ETC_EQUIP_RAW_COST,
pjp1.CUSTOM1,
pjp1.CUSTOM2,
pjp1.CUSTOM3,
pjp1.CUSTOM4,
pjp1.CUSTOM5,
pjp1.CUSTOM6,
pjp1.CUSTOM7,
pjp1.CUSTOM8,
pjp1.CUSTOM9,
pjp1.CUSTOM10,
pjp1.CUSTOM11,
pjp1.CUSTOM12,
pjp1.CUSTOM13,
pjp1.CUSTOM14,
pjp1.CUSTOM15
from
PJI_FP_AGGR_PJP1 pjp1,
PJI_HELPER_420 helper, -- order in the From clause should not be changed unless recommended by perf team
PJI_PJP_WBS_HEADER_T wbs_hdr,
PJI_XBS_DENORM_T prg,
(
select 'Y' CB_FLAG,
'N' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'N' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-3 PLAN_VERSION_ID
from DUAL union all
select 'Y' CB_FLAG,
'Y' CO_FLAG,
-4 PLAN_VERSION_ID
from DUAL
) fin_plan
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
helper.project_id = pjp1.project_id and
helper.worker_id = pjp1.worker_id and
helper.batch_id = p_batch_id and
pjp1.PROJECT_ID = prg.SUP_PROJECT_ID and
pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID and
pjp1.PRG_LEVEL = 0 and
pjp1.RBS_AGGR_LEVEL in ('T', 'L') and
pjp1.WBS_ROLLUP_FLAG = 'N' and
pjp1.PRG_ROLLUP_FLAG = 'N' and
wbs_hdr.PROJECT_ID = pjp1.PROJECT_ID and
wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID and
wbs_hdr.PLAN_TYPE_CODE = pjp1.PLAN_TYPE_CODE and
decode(wbs_hdr.WP_FLAG,
'N', decode(pjp1.PLAN_VERSION_ID,
-1, 'Y',
-2, 'Y',
-3, 'Y', -- won't exist
-4, 'Y', -- won't exist
decode(wbs_hdr.CB_FLAG || '_' ||
wbs_hdr.CO_FLAG,
'Y_Y', 'Y',
'N_Y', 'Y',
'Y_N', 'Y',
'N')),
'Y') = 'Y' and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
wbs_hdr.CB_FLAG = fin_plan.CB_FLAG (+) and
wbs_hdr.CO_FLAG = fin_plan.CO_FLAG (+)
union all
select /*+ ordered
index(fpr PJI_FP_XBS_ACCUM_F_N1) */
-- get delta task level amounts from Reporting Lines
to_char(null) LINE_TYPE,
wbs_hdr.WBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF') RELATIONSHIP_TYPE,
decode(log.EVENT_TYPE,
'WBS_CHANGE', 'Y',
'WBS_PUBLISH', 'N') PUSHUP_FLAG,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', decode(top_slice.INVERT_ID,
'PRJ', 'Y',
decode(wbs.SUB_LEVEL,
1, 'Y', 'N')),
decode(wbs_hdr.WP_FLAG
|| '_' || fin_plan.INVERT_ID
|| '_' || fin_plan.CB
|| '_' || fin_plan.CO
|| '_' || to_char(fin_plan.PLAN_VERSION_ID),
'N_PRJ_Y_Y_-4', 'N',
'Y')) INSERT_FLAG,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
decode(top_slice.INVERT_ID,
'PRJ', prg.SUP_EMT_ID,
decode(wbs.SUB_LEVEL,
1, prg.SUP_EMT_ID,
wbs.SUP_EMT_ID)) PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
'Y' WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
'N_PRG', fin_plan.PLAN_VERSION_ID,
fpr.PLAN_VERSION_ID) PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
wbs.SIGN * fpr.RAW_COST RAW_COST,
wbs.SIGN * fpr.BRDN_COST BRDN_COST,
wbs.SIGN * fpr.REVENUE REVENUE,
wbs.SIGN * fpr.BILL_RAW_COST BILL_RAW_COST,
wbs.SIGN * fpr.BILL_BRDN_COST BILL_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
wbs.SIGN * fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
wbs.SIGN * fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
wbs.SIGN * fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
wbs.SIGN * fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
wbs.SIGN * fpr.LABOR_RAW_COST LABOR_RAW_COST,
wbs.SIGN * fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
wbs.SIGN * fpr.LABOR_HRS LABOR_HRS,
wbs.SIGN * fpr.LABOR_REVENUE LABOR_REVENUE,
wbs.SIGN * fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
wbs.SIGN * fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
wbs.SIGN * fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
wbs.SIGN * fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
wbs.SIGN * fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
wbs.SIGN * fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
wbs.SIGN * fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
wbs.SIGN * fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ACT_BRDN_COST ACT_BRDN_COST,
wbs.SIGN * fpr.ACT_RAW_COST ACT_RAW_COST,
wbs.SIGN * fpr.ACT_REVENUE ACT_REVENUE,
wbs.SIGN * fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
wbs.SIGN * fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
wbs.SIGN * fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
wbs.SIGN * fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
wbs.SIGN * fpr.ETC_BRDN_COST ETC_BRDN_COST,
wbs.SIGN * fpr.ETC_RAW_COST ETC_RAW_COST,
wbs.SIGN * fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
wbs.SIGN * fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
wbs.SIGN * fpr.CUSTOM1 CUSTOM1,
wbs.SIGN * fpr.CUSTOM2 CUSTOM2,
wbs.SIGN * fpr.CUSTOM3 CUSTOM3,
wbs.SIGN * fpr.CUSTOM4 CUSTOM4,
wbs.SIGN * fpr.CUSTOM5 CUSTOM5,
wbs.SIGN * fpr.CUSTOM6 CUSTOM6,
wbs.SIGN * fpr.CUSTOM7 CUSTOM7,
wbs.SIGN * fpr.CUSTOM8 CUSTOM8,
wbs.SIGN * fpr.CUSTOM9 CUSTOM9,
wbs.SIGN * fpr.CUSTOM10 CUSTOM10,
wbs.SIGN * fpr.CUSTOM11 CUSTOM11,
wbs.SIGN * fpr.CUSTOM12 CUSTOM12,
wbs.SIGN * fpr.CUSTOM13 CUSTOM13,
wbs.SIGN * fpr.CUSTOM14 CUSTOM14,
wbs.SIGN * fpr.CUSTOM15 CUSTOM15
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_HELPER_420 helper,
PJI_PJP_WBS_HEADER_T wbs_hdr,
PJI_XBS_DENORM_DELTA wbs,
PJI_XBS_DENORM_T prg,
PJI_FP_XBS_ACCUM_F fpr,
(
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
from DUAL union all
select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
from DUAL
) fin_plan,
(
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'PRJ' INVERT_ID
from DUAL
union all
select 1 WBS_SUP_LEVEL,
1 WBS_SUB_LEVEL,
'WBS' INVERT_ID
from DUAL
) top_slice
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUP_LEVEL = l_level and
prg.SUB_LEVEL = l_level and
wbs.WORKER_ID = helper.worker_id and
fpr.project_id = helper.project_id and
helper.worker_id = log.worker_id and
helper.batch_id = p_batch_id and
wbs.STRUCT_TYPE = 'WBS' and
wbs.SUP_PROJECT_ID = prg.SUP_PROJECT_ID and
log.EVENT_ID = wbs.EVENT_ID and
log.EVENT_TYPE in ('WBS_CHANGE',
'WBS_PUBLISH') and
wbs_hdr.PROJECT_ID = log.ATTRIBUTE1 and
wbs_hdr.PLAN_VERSION_ID = log.ATTRIBUTE3 and
wbs_hdr.WBS_VERSION_ID = wbs.STRUCT_VERSION_ID and
wbs_hdr.PROJECT_ID = prg.SUP_PROJECT_ID and
wbs_hdr.WBS_VERSION_ID = prg.SUP_ID and
fpr.RBS_AGGR_LEVEL = 'T' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG in ('Y', 'N') and
fpr.PROJECT_ID = wbs.SUP_PROJECT_ID and
fpr.PROJECT_ELEMENT_ID = wbs.SUB_EMT_ID and
fpr.PROJECT_ID = wbs_hdr.PROJECT_ID and
fpr.PLAN_VERSION_ID = wbs_hdr.PLAN_VERSION_ID and
fpr.PLAN_TYPE_CODE = wbs_hdr.PLAN_TYPE_CODE and
decode(fpr.PLAN_VERSION_ID,
-3, fpr.PLAN_TYPE_ID,
-4, fpr.PLAN_TYPE_ID,
-1) = decode(fpr.PLAN_VERSION_ID,
-3, wbs_hdr.PLAN_TYPE_ID,
-4, wbs_hdr.PLAN_TYPE_ID,
-1) and
wbs_hdr.CB_FLAG = fin_plan.CB (+) and
wbs_hdr.CO_FLAG = fin_plan.CO (+) and
wbs.SUP_LEVEL = top_slice.WBS_SUP_LEVEL (+) and
wbs.SUB_LEVEL <> top_slice.WBS_SUB_LEVEL (+) and
(wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
(wbs.SUP_LEVEL = 1 and
wbs.SUB_LEVEL = 1))
) pjp,
(
select /*+ ordered */
prg.SUP_PROJECT_ID,
map.PROJECT_ORG_ID SUP_PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID SUP_PROJECT_ORGANIZATION_ID,
prg.SUP_ID,
prg.SUP_EMT_ID,
prg.SUP_LEVEL,
prg.SUB_ID,
prg.SUB_EMT_ID,
prg.SUB_ROLLUP_ID,
invert.INVERT_VALUE RELATIONSHIP_TYPE,
decode(prg.RELATIONSHIP_TYPE,
'LW', 'Y',
'LF', 'N') WP_FLAG,
'Y' PUSHUP_FLAG
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM_T prg,
(
select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LF' INVERT_VALUE from dual union all
select 'A' INVERT_ID, 'LW' INVERT_VALUE from dual
) invert,
PJI_XBS_DENORM_DELTA prg_delta
where
prg.STRUCT_TYPE = 'PRG' and
prg.SUB_ROLLUP_ID is not null and
prg.SUB_LEVEL = l_level and
map.WORKER_ID = p_worker_id and
map.PROJECT_ID = prg.SUP_PROJECT_ID and
decode(prg.SUB_LEVEL,
prg.SUP_LEVEL, 'A',
prg.RELATIONSHIP_TYPE) = invert.INVERT_ID and
p_worker_id = prg_delta.WORKER_ID (+) and
prg.STRUCT_TYPE = prg_delta.STRUCT_TYPE (+) and
prg.SUP_PROJECT_ID = prg_delta.SUP_PROJECT_ID (+) and
prg.SUP_LEVEL = prg_delta.SUP_LEVEL (+) and
prg.SUP_ID = prg_delta.SUP_ID (+) and
prg.SUB_LEVEL = prg_delta.SUB_LEVEL (+) and
prg.SUB_ID = prg_delta.SUB_ID (+) and
prg.RELATIONSHIP_TYPE = prg_delta.RELATIONSHIP_TYPE (+) and
-1 = prg_delta.SIGN (+) and
prg_delta.SUP_PROJECT_ID is null
) prg,
PJI_PJP_WBS_HEADER_T wbs_hdr,
PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp.PROJECT_ID = sub_ver.PROJECT_ID (+) and
pjp.WBS_VERSION_ID = sub_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sub_ver.STATUS_CODE (+) and
pjp.WBS_VERSION_ID = prg.SUB_ID (+) and
pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
pjp.PUSHUP_FLAG = prg.PUSHUP_FLAG (+) and
prg.SUP_PROJECT_ID = wbs_hdr.PROJECT_ID (+) and
prg.SUP_ID = wbs_hdr.WBS_VERSION_ID (+) and
prg.WP_FLAG = wbs_hdr.WP_FLAG (+) and
'Y' = wbs_hdr.WP_FLAG (+) and
wbs_hdr.PROJECT_ID = sup_ver.PROJECT_ID (+) and
wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_PUBLISHED' = sup_ver.STATUS_CODE (+) and
'Y' = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
prg.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+)
group by
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.INSERT_FLAG, 'Y'),
pjp.RELATIONSHIP_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sub_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_ver.STATUS_CODE),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, sup_wpa.WP_ENABLE_VERSION_FLAG),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_ID,
-3, prg.SUP_ID,
-4, prg.SUP_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.SUP_EMT_ID,
-3, prg.SUP_EMT_ID,
-4, prg.SUP_EMT_ID,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
null, decode(pjp.PLAN_VERSION_ID,
-1, prg.WP_FLAG,
-3, prg.WP_FLAG,
-4, prg.WP_FLAG,
null)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
l_level, prg.SUP_LEVEL),
pjp.LINE_TYPE,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORG_ID,
prg.SUP_PROJECT_ORG_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ORGANIZATION_ID,
prg.SUP_PROJECT_ORGANIZATION_ID),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PROJECT_ELEMENT_ID,
prg.SUB_ROLLUP_ID),
pjp.TIME_ID,
pjp.PERIOD_TYPE_ID,
pjp.CALENDAR_TYPE,
pjp.RBS_AGGR_LEVEL,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.WBS_ROLLUP_FLAG, 'N'),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PRG_ROLLUP_FLAG, 'Y'),
pjp.CURR_RECORD_TYPE_ID,
pjp.CURRENCY_CODE,
pjp.RBS_ELEMENT_ID,
pjp.RBS_VERSION_ID,
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_VERSION_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_VERSION_ID,
-2, pjp.PLAN_VERSION_ID,
-3, pjp.PLAN_VERSION_ID,
-4, pjp.PLAN_VERSION_ID,
wbs_hdr.PLAN_VERSION_ID)),
decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
pjp.PLAN_TYPE_ID,
decode(pjp.PLAN_VERSION_ID,
-1, pjp.PLAN_TYPE_ID,
-2, pjp.PLAN_TYPE_ID,
-3, pjp.PLAN_TYPE_ID,
-4, pjp.PLAN_TYPE_ID,
wbs_hdr.PLAN_TYPE_ID)),
pjp.PLAN_TYPE_CODE
) pjp1_i,
PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
PA_PROJ_WORKPLAN_ATTR sup_wpa
where
pjp1_i.INSERT_FLAG = 'Y' and
pjp1_i.PROJECT_ID = sup_fin_ver.PROJECT_ID (+) and
pjp1_i.SUP_ID = sup_fin_ver.ELEMENT_VERSION_ID (+) and
'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE (+) and
pjp1_i.SUP_EMT_ID = sup_wpa.PROJ_ELEMENT_ID (+) and
'N' = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
(pjp1_i.SUP_ID is null or
(pjp1_i.SUP_ID is not null and
(sup_fin_ver.PROJECT_ID is not null or
sup_wpa.PROJ_ELEMENT_ID is not null)));
delete
from pji_helper_420
where batch_id = p_batch_id;
update pji_batch_status_420
set request_status = 'COMPLETED'
where batch_id = p_batch_id;