The following lines contain the word 'select', 'insert', 'update' or 'delete':
FOR ind_lp IN (SELECT index_name
, partitioned
FROM dba_indexes
WHERE table_name = p_tabname
AND table_owner = p_ownname) LOOP
FND_STATS.GATHER_INDEX_STATS(ownname => p_ownname
,indname => ind_lp.index_name
,percent => p_percent
,degree => l_degree);
INSERT /*+ parallel(pjp1) */ INTO PJI_FP_AGGR_PJP1 pjp1
(
WORKER_ID
, PRG_LEVEL
, 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
, 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
, LINE_TYPE
, PLAN_TYPE_CODE
)
SELECT * FROM (
SELECT /*+ parallel(fact1) */
g_worker_id
, g_default_prg_level
, fact1.PROJECT_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.PROJECT_ELEMENT_ID
, DECODE (
(grouping(qtr.ENT_YEAR_ID) || grouping(period.ENT_QTR_ID) || grouping(period.ENT_PERIOD_ID) )
, '000', period.ENT_PERIOD_ID
, '001', period.ENT_QTR_ID
, '011', qtr.ENT_YEAR_ID
, '111', -1 ) TIME_ID
, DECODE (
(grouping(qtr.ENT_YEAR_ID) || grouping(period.ENT_QTR_ID) || grouping(period.ENT_PERIOD_ID) )
, '000', 32
, '001', 64
, '011', 128
, '111', 2048 ) PERIOD_TYPE_ID
, DECODE (
grouping(qtr.ENT_YEAR_ID)
, 0 , 'E'
, 'A') CALENDAR_TYPE
, RBS_AGGR_LEVEL
, WBS_ROLLUP_FLAG
, PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_ELEMENT_ID
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.plan_type_id
, SUM(fact1.RAW_COST)
, SUM(fact1.BRDN_COST)
, SUM(fact1.REVENUE)
, SUM(fact1.BILL_RAW_COST)
, SUM(fact1.BILL_BRDN_COST )
, SUM(fact1.BILL_LABOR_RAW_COST)
, SUM(fact1.BILL_LABOR_BRDN_COST )
, SUM(fact1.BILL_LABOR_HRS )
, SUM(fact1.EQUIPMENT_RAW_COST )
, SUM(fact1.EQUIPMENT_BRDN_COST )
, SUM(fact1.CAPITALIZABLE_RAW_COST )
, SUM(fact1.CAPITALIZABLE_BRDN_COST )
, SUM(fact1.LABOR_RAW_COST )
, SUM(fact1.LABOR_BRDN_COST )
, SUM(fact1.LABOR_HRS)
, SUM(fact1.LABOR_REVENUE)
, SUM(fact1.EQUIPMENT_HOURS)
, SUM(fact1.BILLABLE_EQUIPMENT_HOURS)
, SUM(fact1.SUP_INV_COMMITTED_COST)
, SUM(fact1.PO_COMMITTED_COST )
, SUM(fact1.PR_COMMITTED_COST )
, SUM(fact1.OTH_COMMITTED_COST)
, SUM(fact1.ACT_LABOR_HRS)
, SUM(fact1.ACT_EQUIP_HRS)
, SUM(fact1.ACT_LABOR_BRDN_COST)
, SUM(fact1.ACT_EQUIP_BRDN_COST)
, SUM(fact1.ACT_BRDN_COST)
, SUM(fact1.ACT_RAW_COST)
, SUM(fact1.ACT_REVENUE)
, SUM(fact1.ACT_LABOR_RAW_COST)
, SUM(fact1.ACT_EQUIP_RAW_COST)
, SUM(fact1.ETC_LABOR_HRS)
, SUM(fact1.ETC_EQUIP_HRS)
, SUM(fact1.ETC_LABOR_BRDN_COST)
, SUM(fact1.ETC_EQUIP_BRDN_COST)
, SUM(fact1.ETC_BRDN_COST )
, SUM(fact1.ETC_RAW_COST )
, SUM(fact1.ETC_LABOR_RAW_COST)
, SUM(fact1.ETC_EQUIP_RAW_COST)
, SUM(CUSTOM1 )
, SUM(CUSTOM2 )
, SUM(CUSTOM3 )
, SUM(CUSTOM4 )
, SUM(CUSTOM5 )
, SUM(CUSTOM6 )
, SUM(CUSTOM7 )
, SUM(CUSTOM8 )
, SUM(CUSTOM9 )
, SUM(CUSTOM10 )
, SUM(CUSTOM11 )
, SUM(CUSTOM12 )
, SUM(CUSTOM13 )
, SUM(CUSTOM14 )
, SUM(CUSTOM15)
, 'ENTR'
, PLAN_TYPE_CODE
FROM
PJI_FP_AGGR_PJP1 fact1
, pji_time_ENT_PERIOD period
, pji_time_ENT_QTR qtr
WHERE
fact1.calendar_type = 'E'
AND period.ENT_period_id = fact1.time_id
AND period.ENT_qtr_id = qtr.ENT_qtr_id
AND fact1.period_type_id = 32
AND fact1.worker_id = g_worker_id
GROUP BY
fact1.PROJECT_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.PROJECT_ELEMENT_ID
, fact1.calendar_type
, RBS_AGGR_LEVEL
, WBS_ROLLUP_FLAG
, PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_ELEMENT_ID
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.plan_type_id
, fact1.plan_type_code
, rollup (qtr.ENT_YEAR_ID,
period.ENT_QTR_ID,
period.ENT_PERIOD_ID))
WHERE period_type_id > 32
AND period_type_id < 2048;
INSERT /*+ parallel(pjp1) */ INTO pji_fp_aggr_pjp1 pjp1
(
WORKER_ID
, PRG_LEVEL
, 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
, 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
, LINE_TYPE
, PLAN_TYPE_CODE
)
SELECT * FROM (
SELECT /*+ parallel(fact1) */
g_worker_id
, g_default_prg_level
, fact1.PROJECT_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.PROJECT_ELEMENT_ID
, DECODE (
(grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
, '000', period.CAL_PERIOD_ID
, '001', period.CAL_QTR_ID
, '011', qtr.CAL_YEAR_ID
, '111', -1 ) TIME_ID
, DECODE (
(grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
, '000', 32
, '001', 64
, '011', 128
, '111', 2048 ) PERIOD_TYPE_ID
, DECODE (
grouping(qtr.CAL_YEAR_ID)
, 0 , l_calendar_type
, 'A') CALENDAR_TYPE
, fact1.RBS_AGGR_LEVEL
, fact1.WBS_ROLLUP_FLAG
, fact1.PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_ELEMENT_ID
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.PLAN_TYPE_ID
, SUM(fact1.RAW_COST) RAW_COST
, SUM(fact1.BRDN_COST) BRDN_COST
, SUM(fact1.REVENUE) REVENUE
, SUM(fact1.BILL_RAW_COST) BILL_RAW_COST
, SUM(fact1.BILL_BRDN_COST ) BILL_BRDN_COST
, SUM(fact1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST
, SUM(fact1.BILL_LABOR_BRDN_COST ) BILL_LABOR_BRDN_COST
, SUM(fact1.BILL_LABOR_HRS ) BILL_LABOR_HRS
, SUM(fact1.EQUIPMENT_RAW_COST ) EQUIPMENT_RAW_COST
, SUM(fact1.EQUIPMENT_BRDN_COST ) EQUIPMENT_BRDN_COST
, SUM(fact1.CAPITALIZABLE_RAW_COST ) CAPITALIZABLE_RAW_COST
, SUM(fact1.CAPITALIZABLE_BRDN_COST ) CAPITALIZABLE_BRDN_COST
, SUM(fact1.LABOR_RAW_COST ) LABOR_RAW_COST
, SUM(fact1.LABOR_BRDN_COST ) LABOR_BRDN_COST
, SUM(fact1.LABOR_HRS) LABOR_HRS
, SUM(fact1.LABOR_REVENUE) LABOR_REVENUE
, SUM(fact1.EQUIPMENT_HOURS) EQUIPMENT_HOURS
, SUM(fact1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS
, SUM(fact1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST
, SUM(fact1.PO_COMMITTED_COST ) PO_COMMITTED_COST
, SUM(fact1.PR_COMMITTED_COST ) PR_COMMITTED_COST
, SUM(fact1.OTH_COMMITTED_COST) OTH_COMMITTED_COST
, SUM(fact1.ACT_LABOR_HRS)
, SUM(fact1.ACT_EQUIP_HRS)
, SUM(fact1.ACT_LABOR_BRDN_COST)
, SUM(fact1.ACT_EQUIP_BRDN_COST)
, SUM(fact1.ACT_BRDN_COST)
, SUM(fact1.ACT_RAW_COST)
, SUM(fact1.ACT_REVENUE)
, SUM(fact1.ACT_LABOR_RAW_COST)
, SUM(fact1.ACT_EQUIP_RAW_COST)
, SUM(fact1.ETC_LABOR_HRS)
, SUM(fact1.ETC_EQUIP_HRS)
, SUM(fact1.ETC_LABOR_BRDN_COST)
, SUM(fact1.ETC_EQUIP_BRDN_COST)
, SUM(fact1.ETC_BRDN_COST )
, SUM(fact1.ETC_RAW_COST )
, SUM(fact1.ETC_LABOR_RAW_COST)
, SUM(fact1.ETC_EQUIP_RAW_COST)
, SUM(CUSTOM1 ) CUSTOM1
, SUM(CUSTOM2 ) CUSTOM2
, SUM(CUSTOM3 ) CUSTOM3
, SUM(CUSTOM4 ) CUSTOM4
, SUM(CUSTOM5 ) CUSTOM5
, SUM(CUSTOM6 ) CUSTOM6
, SUM(CUSTOM7 ) CUSTOM7
, SUM(CUSTOM8 ) CUSTOM8
, SUM(CUSTOM9 ) CUSTOM9
, SUM(CUSTOM10 ) CUSTOM10
, SUM(CUSTOM11 ) CUSTOM11
, SUM(CUSTOM12 ) CUSTOM12
, SUM(CUSTOM13 ) CUSTOM13
, SUM(CUSTOM14 ) CUSTOM14
, SUM(CUSTOM15) CUSTOM15
, l_line_type line_type
, fact1.plan_type_code plan_type_code
FROM
pji_fp_aggr_pjp1 fact1
, pji_time_CAL_PERIOD period
, pji_time_CAL_QTR qtr
WHERE
fact1.calendar_type = 'P'
AND period.cal_period_id = fact1.time_id
AND period.cal_qtr_id = qtr.cal_qtr_id
AND fact1.period_type_id = 32
AND fact1.worker_id = g_worker_id
GROUP BY
fact1.PROJECT_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ELEMENT_ID
, rollup (qtr.CAL_YEAR_ID,
period.CAL_QTR_ID,
period.CAL_PERIOD_ID)
, fact1.calendar_type
, fact1.RBS_AGGR_LEVEL
, fact1.WBS_ROLLUP_FLAG
, fact1.PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_ELEMENT_ID
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.PLAN_TYPE_ID
, fact1.PLAN_TYPE_CODE )
WHERE period_type_id > 32
AND period_type_id < 2048;
l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
INSERT /*+ parallel(pjp1) */ INTO pji_fp_aggr_pjp1 pjp1
(
WORKER_ID
, PRG_LEVEL
, 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
, 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
, LINE_TYPE
, PLAN_TYPE_CODE
)
SELECT * FROM (
SELECT /*+ parallel(fact1) */
g_worker_id
, g_default_prg_level
, fact1.PROJECT_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.PROJECT_ELEMENT_ID
, DECODE (
(grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
, '000', period.CAL_PERIOD_ID
, '001', period.CAL_QTR_ID
, '011', qtr.CAL_YEAR_ID
, '111', -1 ) TIME_ID
, DECODE (
(grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
, '000', 32
, '001', 64
, '011', 128
, '111', 2048 ) PERIOD_TYPE_ID
, DECODE (
grouping(qtr.CAL_YEAR_ID)
, 0 , l_calendar_type
, 'A') CALENDAR_TYPE
, fact1.RBS_AGGR_LEVEL
, fact1.WBS_ROLLUP_FLAG
, fact1.PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_ELEMENT_ID
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.PLAN_TYPE_ID
, SUM(fact1.RAW_COST) RAW_COST
, SUM(fact1.BRDN_COST) BRDN_COST
, SUM(fact1.REVENUE) REVENUE
, SUM(fact1.BILL_RAW_COST) BILL_RAW_COST
, SUM(fact1.BILL_BRDN_COST ) BILL_BRDN_COST
, SUM(fact1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST
, SUM(fact1.BILL_LABOR_BRDN_COST ) BILL_LABOR_BRDN_COST
, SUM(fact1.BILL_LABOR_HRS ) BILL_LABOR_HRS
, SUM(fact1.EQUIPMENT_RAW_COST ) EQUIPMENT_RAW_COST
, SUM(fact1.EQUIPMENT_BRDN_COST ) EQUIPMENT_BRDN_COST
, SUM(fact1.CAPITALIZABLE_RAW_COST ) CAPITALIZABLE_RAW_COST
, SUM(fact1.CAPITALIZABLE_BRDN_COST ) CAPITALIZABLE_BRDN_COST
, SUM(fact1.LABOR_RAW_COST ) LABOR_RAW_COST
, SUM(fact1.LABOR_BRDN_COST ) LABOR_BRDN_COST
, SUM(fact1.LABOR_HRS) LABOR_HRS
, SUM(fact1.LABOR_REVENUE) LABOR_REVENUE
, SUM(fact1.EQUIPMENT_HOURS) EQUIPMENT_HOURS
, SUM(fact1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS
, SUM(fact1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST
, SUM(fact1.PO_COMMITTED_COST ) PO_COMMITTED_COST
, SUM(fact1.PR_COMMITTED_COST ) PR_COMMITTED_COST
, SUM(fact1.OTH_COMMITTED_COST) OTH_COMMITTED_COST
, SUM(fact1.ACT_LABOR_HRS)
, SUM(fact1.ACT_EQUIP_HRS)
, SUM(fact1.ACT_LABOR_BRDN_COST)
, SUM(fact1.ACT_EQUIP_BRDN_COST)
, SUM(fact1.ACT_BRDN_COST)
, SUM(fact1.ACT_RAW_COST)
, SUM(fact1.ACT_REVENUE)
, SUM(fact1.ACT_LABOR_RAW_COST)
, SUM(fact1.ACT_EQUIP_RAW_COST)
, SUM(fact1.ETC_LABOR_HRS)
, SUM(fact1.ETC_EQUIP_HRS)
, SUM(fact1.ETC_LABOR_BRDN_COST)
, SUM(fact1.ETC_EQUIP_BRDN_COST)
, SUM(fact1.ETC_BRDN_COST )
, SUM(fact1.ETC_RAW_COST )
, SUM(fact1.ETC_LABOR_RAW_COST)
, SUM(fact1.ETC_EQUIP_RAW_COST)
, SUM(CUSTOM1 ) CUSTOM1
, SUM(CUSTOM2 ) CUSTOM2
, SUM(CUSTOM3 ) CUSTOM3
, SUM(CUSTOM4 ) CUSTOM4
, SUM(CUSTOM5 ) CUSTOM5
, SUM(CUSTOM6 ) CUSTOM6
, SUM(CUSTOM7 ) CUSTOM7
, SUM(CUSTOM8 ) CUSTOM8
, SUM(CUSTOM9 ) CUSTOM9
, SUM(CUSTOM10 ) CUSTOM10
, SUM(CUSTOM11 ) CUSTOM11
, SUM(CUSTOM12 ) CUSTOM12
, SUM(CUSTOM13 ) CUSTOM13
, SUM(CUSTOM14 ) CUSTOM14
, SUM(CUSTOM15) CUSTOM15
, l_line_type
, fact1.PLAN_TYPE_CODE PLAN_TYPE_CODE
FROM
pji_fp_aggr_pjp1 fact1
, pji_time_CAL_PERIOD period
, pji_time_CAL_QTR qtr
WHERE
fact1.calendar_type = l_calendar_type
AND period.cal_period_id = fact1.time_id
AND period.cal_qtr_id = qtr.cal_qtr_id
AND fact1.period_type_id = 32
AND fact1.worker_id = g_worker_id
GROUP BY
fact1.PROJECT_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ELEMENT_ID
, rollup (qtr.CAL_YEAR_ID,
period.CAL_QTR_ID,
period.CAL_PERIOD_ID)
, fact1.calendar_type
, fact1.RBS_AGGR_LEVEL
, fact1.WBS_ROLLUP_FLAG
, fact1.PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_ELEMENT_ID
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.PLAN_TYPE_ID
, fact1.PLAN_TYPE_CODE )
WHERE period_type_id > 32
AND period_type_id < 2048;
SELECT fin_plan_type_id
INTO l_plan_type_id
FROM PA_FIN_PLAN_TYPES_B
WHERE USE_FOR_WORKPLAN_FLAG='Y';
INSERT /*+ parallel(PJP1) */ INTO PJI_FP_AGGR_PJP1 PJP1
(
WORKER_ID
, PRG_LEVEL
, 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
, 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
, LINE_TYPE
, PLAN_TYPE_CODE
)
SELECT * FROM (
SELECT /*+ parallel(fact1) */
g_worker_id
, g_default_prg_level
, fact1.PROJECT_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.PROJECT_ELEMENT_ID
, DECODE (
(grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
, '000', period.CAL_PERIOD_ID
, '001', period.CAL_QTR_ID
, '011', qtr.CAL_YEAR_ID
, '111', -1 ) TIME_ID
, DECODE (
(grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
, '000', 32
, '001', 64
, '011', 128
, '111', 2048 ) PERIOD_TYPE_ID
, DECODE (
grouping(qtr.CAL_YEAR_ID)
, 0 ,p_calendar_type
, 'A') CALENDAR_TYPE
, fact1.RBS_AGGR_LEVEL
, fact1.WBS_ROLLUP_FLAG
, fact1.PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_ELEMENT_ID
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.PLAN_TYPE_ID
, SUM(fact1.RAW_COST) RAW_COST
, SUM(fact1.BRDN_COST) BRDN_COST
, SUM(fact1.REVENUE) REVENUE
, SUM(fact1.BILL_RAW_COST) BILL_RAW_COST
, SUM(fact1.BILL_BRDN_COST ) BILL_BRDN_COST
, SUM(fact1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST
, SUM(fact1.BILL_LABOR_BRDN_COST ) BILL_LABOR_BRDN_COST
, SUM(fact1.BILL_LABOR_HRS ) BILL_LABOR_HRS
, SUM(fact1.EQUIPMENT_RAW_COST ) EQUIPMENT_RAW_COST
, SUM(fact1.EQUIPMENT_BRDN_COST ) EQUIPMENT_BRDN_COST
, SUM(fact1.CAPITALIZABLE_RAW_COST ) CAPITALIZABLE_RAW_COST
, SUM(fact1.CAPITALIZABLE_BRDN_COST ) CAPITALIZABLE_BRDN_COST
, SUM(fact1.LABOR_RAW_COST ) LABOR_RAW_COST
, SUM(fact1.LABOR_BRDN_COST ) LABOR_BRDN_COST
, SUM(fact1.LABOR_HRS) LABOR_HRS
, SUM(fact1.LABOR_REVENUE) LABOR_REVENUE
, SUM(fact1.EQUIPMENT_HOURS) EQUIPMENT_HOURS
, SUM(fact1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS
, SUM(fact1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST
, SUM(fact1.PO_COMMITTED_COST ) PO_COMMITTED_COST
, SUM(fact1.PR_COMMITTED_COST ) PR_COMMITTED_COST
, SUM(fact1.OTH_COMMITTED_COST) OTH_COMMITTED_COST
, SUM(fact1.ACT_LABOR_HRS)
, SUM(fact1.ACT_EQUIP_HRS)
, SUM(fact1.ACT_LABOR_BRDN_COST)
, SUM(fact1.ACT_EQUIP_BRDN_COST)
, SUM(fact1.ACT_BRDN_COST)
, SUM(fact1.ACT_RAW_COST)
, SUM(fact1.ACT_REVENUE)
, SUM(fact1.ACT_LABOR_RAW_COST)
, SUM(fact1.ACT_EQUIP_RAW_COST)
, SUM(fact1.ETC_LABOR_HRS)
, SUM(fact1.ETC_EQUIP_HRS)
, SUM(fact1.ETC_LABOR_BRDN_COST)
, SUM(fact1.ETC_EQUIP_BRDN_COST)
, SUM(fact1.ETC_BRDN_COST )
, SUM(fact1.ETC_RAW_COST )
, SUM(fact1.ETC_LABOR_RAW_COST)
, SUM(fact1.ETC_EQUIP_RAW_COST)
, SUM(CUSTOM1 ) CUSTOM1
, SUM(CUSTOM2 ) CUSTOM2
, SUM(CUSTOM3 ) CUSTOM3
, SUM(CUSTOM4 ) CUSTOM4
, SUM(CUSTOM5 ) CUSTOM5
, SUM(CUSTOM6 ) CUSTOM6
, SUM(CUSTOM7 ) CUSTOM7
, SUM(CUSTOM8 ) CUSTOM8
, SUM(CUSTOM9 ) CUSTOM9
, SUM(CUSTOM10 ) CUSTOM10
, SUM(CUSTOM11 ) CUSTOM11
, SUM(CUSTOM12 ) CUSTOM12
, SUM(CUSTOM13 ) CUSTOM13
, SUM(CUSTOM14 ) CUSTOM14
, SUM(CUSTOM15) CUSTOM15
,l_line_type
, fact1.PLAN_TYPE_CODE PLAN_TYPE_CODE
FROM
PJI_FP_AGGR_PJP1 fact1
, pji_time_CAL_PERIOD period
, pji_time_CAL_QTR qtr
, pji_fm_extr_plnver4 ver
WHERE
fact1.calendar_type in ( p_calendar_type
, DECODE (p_calendar_type ,'C','G','X')
, DECODE (p_calendar_type ,'C',
DECODE(ver.plan_version_id,-1,'X',-3,'X',-4,'X',
DECODE(fact1.plan_type_id,l_plan_type_id,'P','X')),'X'))
AND period.cal_period_id = fact1.time_id
AND period.cal_qtr_id = qtr.cal_qtr_id
AND fact1.period_type_id = 32 -- <> -1
AND ver.time_phased_type_code IN ('P', 'G') -- If non time phased plan, non need to create 2048 slice separately.
AND ver.project_id = fact1.project_id
AND ver.plan_version_id = fact1.plan_version_id
AND ver.plan_type_code = fact1.plan_type_code /* 4471527*/
AND fact1.worker_id = g_worker_id
AND ver.worker_id = g_worker_id
AND fact1.rbs_version_id = NVL(ver.rbs_struct_version_id, -1)
GROUP BY
fact1.PROJECT_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ELEMENT_ID
, rollup (qtr.CAL_YEAR_ID,
period.CAL_QTR_ID,
period.CAL_PERIOD_ID)
, fact1.calendar_type
, fact1.RBS_AGGR_LEVEL
, fact1.WBS_ROLLUP_FLAG
, fact1.PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_ELEMENT_ID
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.PLAN_TYPE_ID
, fact1.PLAN_TYPE_CODE )
WHERE period_type_id = 2048;
INSERT INTO pji_fp_aggr_pjp1
(
WORKER_ID
, 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
, 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
, TIME_DANGLING_FLAG
, RATE_DANGLING_FLAG
, PRG_LEVEL
, PLAN_TYPE_CODE
)
SELECT
g_worker_id worker_id
, a.PROJECT_ID
, a.PROJECT_ORG_ID
, a.PROJECT_ORGANIZATION_ID
, a.PROJECT_ELEMENT_ID
, a.TIME_ID
, a.PERIOD_TYPE_ID
, a.CALENDAR_TYPE
, a.RBS_AGGR_LEVEL
, a.WBS_ROLLUP_FLAG
, a.PRG_ROLLUP_FLAG
, a.CURR_RECORD_TYPE_ID
, a.CURRENCY_CODE
, a.RBS_ELEMENT_ID
, a.RBS_VERSION_ID
, a.PLAN_VERSION_ID
, a.PLAN_TYPE_ID
, SUM(ROUND (nvl(a.raw_cost,0)*a.factor/a.mau)*a.mau) raw_cost
, SUM(ROUND (nvl(a.brdn_cost,0)*a.factor/a.mau)*a.mau) brdn_cost
, SUM(ROUND (nvl(a.revenue,0)*a.factor/a.mau)*a.mau) revenue
, SUM(ROUND (nvl(a.bill_raw_cost,0)*a.factor/a.mau)*a.mau) bill_raw_cost
, SUM(ROUND (nvl(a.bill_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_brdn_cost
, SUM(ROUND (nvl(a.bill_labor_raw_cost,0)*a.factor/a.mau)*a.mau) bill_labor_raw_cost
, SUM(ROUND (nvl(a.bill_labor_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_labor_brdn_cost
, SUM(ROUND (nvl(a.bill_labor_hrs,0)*a.factor/a.mau)*a.mau) bill_labor_hrs
, SUM(ROUND (nvl(a.equipment_raw_cost,0)*a.factor/a.mau)*a.mau) equipment_raw_cost
, SUM(ROUND (nvl(a.equipment_brdn_cost,0)*a.factor/a.mau)*a.mau) equipment_brdn_cost
, SUM(ROUND (nvl(a.capitalizable_raw_cost,0)*a.factor/a.mau)*a.mau) capitalizable_raw_cost
, SUM(ROUND (nvl(a.capitalizable_brdn_cost,0)*a.factor/a.mau)*a.mau) capitalizable_brdn_cost
, SUM(ROUND (nvl(a.labor_raw_cost,0)*a.factor/a.mau)*a.mau) labor_raw_cost
, SUM(ROUND (nvl(a.labor_brdn_cost,0)*a.factor/a.mau)*a.mau) labor_brdn_cost
, SUM(ROUND (nvl(a.labor_hrs,0)*a.factor/a.mau)*a.mau) labor_hrs
, SUM(ROUND (nvl(a.labor_revenue,0)*a.factor/a.mau)*a.mau) labor_revenue
, SUM(ROUND (nvl(a.equipment_hours,0)*a.factor/a.mau)*a.mau) equipment_hours
, SUM(ROUND (nvl(a.billable_equipment_hours,0)*a.factor/a.mau)*a.mau) billable_equipment_hours
, SUM(ROUND (nvl(a.sup_inv_committed_cost,0)*a.factor/a.mau)*a.mau) sup_inv_committed_cost
, SUM(ROUND (nvl(a.po_committed_cost,0)*a.factor/a.mau)*a.mau) po_committed_cost
, SUM(ROUND (nvl(a.pr_committed_cost,0)*a.factor/a.mau)*a.mau) pr_committed_cost
, SUM(ROUND (nvl(a.oth_committed_cost,0)*a.factor/a.mau)*a.mau) oth_committed_cost
, SUM(ROUND (nvl(a.ACT_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ACT_LABOR_HRS
, SUM(ROUND (nvl(a.ACT_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_HRS
, SUM(ROUND (nvl(a.ACT_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_BRDN_COST
, SUM(ROUND (nvl(a.ACT_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_BRDN_COST
, SUM(ROUND (nvl(a.ACT_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_BRDN_COST
, SUM(ROUND (nvl(a.ACT_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_RAW_COST
, SUM(ROUND (nvl(a.ACT_REVENUE,0)*a.factor/a.mau)*a.mau) ACT_REVENUE
, SUM(ROUND (nvl(a.ACT_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_RAW_COST
, SUM(ROUND (nvl(a.ACT_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_RAW_COST
, SUM(ROUND (nvl(a.ETC_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ETC_LABOR_HRS
, SUM(ROUND (nvl(a.ETC_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_HRS
, SUM(ROUND (nvl(a.ETC_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_BRDN_COST
, SUM(ROUND (nvl(a.ETC_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_BRDN_COST
, SUM(ROUND (nvl(a.ETC_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_BRDN_COST
, SUM(ROUND (nvl(a.ETC_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_RAW_COST
, SUM(ROUND (nvl(a.ETC_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_RAW_COST
, SUM(ROUND (nvl(a.ETC_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_RAW_COST
, SUM(ROUND (nvl(a.custom1,0)*a.factor/a.mau)*a.mau) custom1
, SUM(ROUND (nvl(a.custom2,0)*a.factor/a.mau)*a.mau) custom2
, SUM(ROUND (nvl(a.custom3,0)*a.factor/a.mau)*a.mau) custom3
, SUM(ROUND (nvl(a.custom4,0)*a.factor/a.mau)*a.mau) custom4
, SUM(ROUND (nvl(a.custom5,0)*a.factor/a.mau)*a.mau) custom5
, SUM(ROUND (nvl(a.custom6,0)*a.factor/a.mau)*a.mau) custom6
, SUM(ROUND (nvl(a.custom7,0)*a.factor/a.mau)*a.mau) custom7
, SUM(ROUND (nvl(a.custom8,0)*a.factor/a.mau)*a.mau) custom8
, SUM(ROUND (nvl(a.custom9,0)*a.factor/a.mau)*a.mau) custom9
, SUM(ROUND (nvl(a.custom10,0)*a.factor/a.mau)*a.mau) custom10
, SUM(ROUND (nvl(a.custom11,0)*a.factor/a.mau)*a.mau) custom11
, SUM(ROUND (nvl(a.custom12,0)*a.factor/a.mau)*a.mau) custom12
, SUM(ROUND (nvl(a.custom13,0)*a.factor/a.mau)*a.mau) custom13
, SUM(ROUND (nvl(a.custom14,0)*a.factor/a.mau)*a.mau) custom14
, SUM(ROUND (nvl(a.custom15,0)*a.factor/a.mau)*a.mau) custom15
, a.TIME_DANGLING_FLAG
, a.RATE_DANGLING_FLAG
, g_default_prg_level prg_level
, a.PLAN_TYPE_CODE PLAN_TYPE_CODE
FROM (
SELECT /*+ use_hash(fact) */ -- Modified hints for bug 13897252
fact.project_id project_id
, fact.project_ORG_ID project_ORG_ID
, fact.project_ORGANIZATION_ID project_ORGANIZATION_ID
, fact.PROJECT_ELEMENT_ID PROJECT_ELEMENT_ID
, pa_cal.ent_period_id TIME_ID
, fact.PERIOD_TYPE_ID PERIOD_TYPE_ID
, 'E' CALENDAR_TYPE -- fact.CALENDAR_TYPE
, fact.RBS_AGGR_LEVEL
, fact.WBS_ROLLUP_FLAG
, fact.PRG_ROLLUP_FLAG
, fact.CURR_RECORD_TYPE_ID CURR_RECORD_TYPE_ID
, fact.CURRENCY_CODE CURRENCY_CODE
, fact.RBS_ELEMENT_ID RBS_ELEMENT_ID
, fact.RBS_VERSION_ID RBS_VERSION_ID
, fact.PLAN_VERSION_ID PLAN_VERSION_ID
, fact.PLAN_TYPE_ID PLAN_TYPE_ID
, fact.raw_cost
, fact.brdn_cost
, fact.revenue
, fact.bill_raw_cost
, fact.bill_brdn_cost
, fact.bill_labor_raw_cost
, fact.bill_labor_brdn_cost
, fact.bill_labor_hrs
, fact.equipment_raw_cost
, fact.equipment_brdn_cost
, fact.capitalizable_raw_cost
, fact.capitalizable_brdn_cost
, fact.labor_raw_cost
, fact.labor_brdn_cost
, fact.labor_hrs
, fact.labor_revenue
, fact.equipment_hours
, fact.billable_equipment_hours
, fact.sup_inv_committed_cost
, fact.po_committed_cost
, fact.pr_committed_cost
, fact.oth_committed_cost
, fact.ACT_LABOR_HRS
, fact.ACT_EQUIP_HRS
, fact.ACT_LABOR_BRDN_COST
, fact.ACT_EQUIP_BRDN_COST
, fact.ACT_BRDN_COST
, fact.ACT_RAW_COST
, fact.ACT_REVENUE
, fact.ACT_LABOR_RAW_COST
, fact.ACT_EQUIP_RAW_COST
, fact.ETC_LABOR_HRS
, fact.ETC_EQUIP_HRS
, fact.ETC_LABOR_BRDN_COST
, fact.ETC_EQUIP_BRDN_COST
, fact.ETC_BRDN_COST
, fact.ETC_RAW_COST
, fact.ETC_LABOR_RAW_COST
, fact.ETC_EQUIP_RAW_COST
, fact.custom1
, fact.custom2
, fact.custom3
, fact.custom4
, fact.custom5
, fact.custom6
, fact.custom7
, fact.custom8
, fact.custom9
, fact.custom10
, fact.custom11
, fact.custom12
, fact.custom13
, fact.custom14
, fact.custom15
, fact.time_dangling_flag time_dangling_flag
, fact.rate_dangling_flag rate_dangling_flag
, cur.mau mau
, (LEAST(non_pa_cal.end_date,pa_cal.end_date) -
Greatest(non_pa_cal.start_date,pa_cal.start_date)+1)
/ (non_pa_cal.end_date - non_pa_cal.start_date+1) factor
, fact.plan_type_code plan_type_code
FROM pji_fp_aggr_pjp1 fact
, pji_time_cal_period_v non_pa_cal
, pji_time_ent_period_v pa_cal
, pji_fm_extr_plnver4 ver
, (SELECT currency_code,
decode(nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION))),
null, 0.01,
0, 1,
nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION)))) mau
FROM FND_CURRENCIES) cur
WHERE fact.CALENDAR_TYPE IN ('P', 'G')
AND fact.worker_id = g_worker_id
AND VER.worker_id = g_worker_id
AND non_pa_cal.cal_period_id = fact.time_id
AND fact.line_type like 'OF%'
AND non_pa_cal.start_date<= pa_cal.end_date
AND non_pa_cal.end_Date >=pa_cal.start_date
AND fact.currency_code = cur.currency_code
AND fact.time_dangling_flag IS NULL
AND fact.rate_dangling_flag IS NULL
AND fact.period_type_id = 32
AND fact.plan_version_id = ver.plan_version_id
AND fact.plan_type_code = ver.plan_type_code /* 4471527 */
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND fact.rbs_version_id = NVL (ver.rbs_struct_version_id , -1)
AND ver.plan_version_id > 0
) a
WHERE a.factor >0
GROUP BY
a.PROJECT_ID
, a.PROJECT_ORG_ID
, a.PROJECT_ORGANIZATION_ID
, a.PROJECT_ELEMENT_ID
, a.TIME_ID
, a.PERIOD_TYPE_ID
, a.CALENDAR_TYPE
, a.RBS_AGGR_LEVEL
, a.WBS_ROLLUP_FLAG
, a.PRG_ROLLUP_FLAG
, a.CURR_RECORD_TYPE_ID
, a.CURRENCY_CODE
, a.RBS_ELEMENT_ID
, a.RBS_VERSION_ID
, a.PLAN_VERSION_ID
, a.PLAN_TYPE_ID
, a.TIME_DANGLING_FLAG
, a.RATE_DANGLING_FLAG
, a.PLAN_TYPE_CODE ;
INSERT INTO pji_fp_aggr_pjp1 -- Non time phased entries in pjp1 table.
(
WORKER_ID
, 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
, 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
, TIME_DANGLING_FLAG
, RATE_DANGLING_FLAG
, PRG_LEVEL
, PLAN_TYPE_CODE
)
SELECT
g_worker_id worker_id
, a.PROJECT_ID
, a.PROJECT_ORG_ID
, a.PROJECT_ORGANIZATION_ID
, a.PROJECT_ELEMENT_ID
, a.TIME_ID
, 32
, a.CALENDAR_TYPE
, a.RBS_AGGR_LEVEL
, a.WBS_ROLLUP_FLAG
, a.PRG_ROLLUP_FLAG
, a.CURR_RECORD_TYPE_ID
, a.CURRENCY_CODE
, a.RBS_ELEMENT_ID
, a.RBS_VERSION_ID
, a.PLAN_VERSION_ID
, a.PLAN_TYPE_ID
, SUM(ROUND (nvl(a.raw_cost,0)*a.factor/a.mau)*a.mau) raw_cost
, SUM(ROUND (nvl(a.brdn_cost,0)*a.factor/a.mau)*a.mau) brdn_cost
, SUM(ROUND (nvl(a.revenue,0)*a.factor/a.mau)*a.mau) revenue
, SUM(ROUND (nvl(a.bill_raw_cost,0)*a.factor/a.mau)*a.mau) bill_raw_cost
, SUM(ROUND (nvl(a.bill_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_brdn_cost
, SUM(ROUND (nvl(a.bill_labor_raw_cost,0)*a.factor/a.mau)*a.mau) bill_labor_raw_cost
, SUM(ROUND (nvl(a.bill_labor_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_labor_brdn_cost
, SUM(ROUND (nvl(a.bill_labor_hrs,0)*a.factor/a.mau)*a.mau) bill_labor_hrs
, SUM(ROUND (nvl(a.equipment_raw_cost,0)*a.factor/a.mau)*a.mau) equipment_raw_cost
, SUM(ROUND (nvl(a.equipment_brdn_cost,0)*a.factor/a.mau)*a.mau) equipment_brdn_cost
, SUM(ROUND (nvl(a.capitalizable_raw_cost,0)*a.factor/a.mau)*a.mau) capitalizable_raw_cost
, SUM(ROUND (nvl(a.capitalizable_brdn_cost,0)*a.factor/a.mau)*a.mau) capitalizable_brdn_cost
, SUM(ROUND (nvl(a.labor_raw_cost,0)*a.factor/a.mau)*a.mau) labor_raw_cost
, SUM(ROUND (nvl(a.labor_brdn_cost,0)*a.factor/a.mau)*a.mau) labor_brdn_cost
, SUM(ROUND (nvl(a.labor_hrs,0)*a.factor/a.mau)*a.mau) labor_hrs
, SUM(ROUND (nvl(a.labor_revenue,0)*a.factor/a.mau)*a.mau) labor_revenue
, SUM(ROUND (nvl(a.equipment_hours,0)*a.factor/a.mau)*a.mau) equipment_hours
, SUM(ROUND (nvl(a.billable_equipment_hours,0)*a.factor/a.mau)*a.mau) billable_equipment_hours
, SUM(ROUND (nvl(a.sup_inv_committed_cost,0)*a.factor/a.mau)*a.mau) sup_inv_committed_cost
, SUM(ROUND (nvl(a.po_committed_cost,0)*a.factor/a.mau)*a.mau) po_committed_cost
, SUM(ROUND (nvl(a.pr_committed_cost,0)*a.factor/a.mau)*a.mau) pr_committed_cost
, SUM(ROUND (nvl(a.oth_committed_cost,0)*a.factor/a.mau)*a.mau) oth_committed_cost
, SUM(ROUND (nvl(a.ACT_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ACT_LABOR_HRS
, SUM(ROUND (nvl(a.ACT_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_HRS
, SUM(ROUND (nvl(a.ACT_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_BRDN_COST
, SUM(ROUND (nvl(a.ACT_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_BRDN_COST
, SUM(ROUND (nvl(a.ACT_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_BRDN_COST
, SUM(ROUND (nvl(a.ACT_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_RAW_COST
, SUM(ROUND (nvl(a.ACT_REVENUE,0)*a.factor/a.mau)*a.mau) ACT_REVENUE
, SUM(ROUND (nvl(a.ACT_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_RAW_COST
, SUM(ROUND (nvl(a.ACT_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_RAW_COST
, SUM(ROUND (nvl(a.ETC_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ETC_LABOR_HRS
, SUM(ROUND (nvl(a.ETC_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_HRS
, SUM(ROUND (nvl(a.ETC_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_BRDN_COST
, SUM(ROUND (nvl(a.ETC_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_BRDN_COST
, SUM(ROUND (nvl(a.ETC_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_BRDN_COST
, SUM(ROUND (nvl(a.ETC_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_RAW_COST
, SUM(ROUND (nvl(a.ETC_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_RAW_COST
, SUM(ROUND (nvl(a.ETC_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_RAW_COST
, SUM(ROUND (nvl(a.custom1,0)*a.factor/a.mau)*a.mau) custom1
, SUM(ROUND (nvl(a.custom2,0)*a.factor/a.mau)*a.mau) custom2
, SUM(ROUND (nvl(a.custom3,0)*a.factor/a.mau)*a.mau) custom3
, SUM(ROUND (nvl(a.custom4,0)*a.factor/a.mau)*a.mau) custom4
, SUM(ROUND (nvl(a.custom5,0)*a.factor/a.mau)*a.mau) custom5
, SUM(ROUND (nvl(a.custom6,0)*a.factor/a.mau)*a.mau) custom6
, SUM(ROUND (nvl(a.custom7,0)*a.factor/a.mau)*a.mau) custom7
, SUM(ROUND (nvl(a.custom8,0)*a.factor/a.mau)*a.mau) custom8
, SUM(ROUND (nvl(a.custom9,0)*a.factor/a.mau)*a.mau) custom9
, SUM(ROUND (nvl(a.custom10,0)*a.factor/a.mau)*a.mau) custom10
, SUM(ROUND (nvl(a.custom11,0)*a.factor/a.mau)*a.mau) custom11
, SUM(ROUND (nvl(a.custom12,0)*a.factor/a.mau)*a.mau) custom12
, SUM(ROUND (nvl(a.custom13,0)*a.factor/a.mau)*a.mau) custom13
, SUM(ROUND (nvl(a.custom14,0)*a.factor/a.mau)*a.mau) custom14
, SUM(ROUND (nvl(a.custom15,0)*a.factor/a.mau)*a.mau) custom15
, a.TIME_DANGLING_FLAG
, a.RATE_DANGLING_FLAG
, g_default_prg_level prg_level
, a.plan_type_code plan_type_code
FROM (
SELECT /*+ NO_MERGE parallel(fact) parallel(ver) use_hash(fact) use_hash(ver) */
fact.project_id project_id
, fact.project_ORG_ID project_ORG_ID
, fact.project_ORGANIZATION_ID project_ORGANIZATION_ID
, fact.PROJECT_ELEMENT_ID PROJECT_ELEMENT_ID
, entCal.ent_period_id TIME_ID
, fact.PERIOD_TYPE_ID PERIOD_TYPE_ID
, 'E' CALENDAR_TYPE -- fact.CALENDAR_TYPE
, fact.RBS_AGGR_LEVEL
, fact.WBS_ROLLUP_FLAG
, fact.PRG_ROLLUP_FLAG
, fact.CURR_RECORD_TYPE_ID CURR_RECORD_TYPE_ID
, fact.CURRENCY_CODE CURRENCY_CODE
, fact.RBS_ELEMENT_ID RBS_ELEMENT_ID
, fact.RBS_VERSION_ID RBS_VERSION_ID
, fact.PLAN_VERSION_ID PLAN_VERSION_ID
, fact.PLAN_TYPE_ID PLAN_TYPE_ID
, fact.raw_cost
, fact.brdn_cost
, fact.revenue
, fact.bill_raw_cost
, fact.bill_brdn_cost
, fact.bill_labor_raw_cost
, fact.bill_labor_brdn_cost
, fact.bill_labor_hrs
, fact.equipment_raw_cost
, fact.equipment_brdn_cost
, fact.capitalizable_raw_cost
, fact.capitalizable_brdn_cost
, fact.labor_raw_cost
, fact.labor_brdn_cost
, fact.labor_hrs
, fact.labor_revenue
, fact.equipment_hours
, fact.billable_equipment_hours
, fact.sup_inv_committed_cost
, fact.po_committed_cost
, fact.pr_committed_cost
, fact.oth_committed_cost
, fact.ACT_LABOR_HRS
, fact.ACT_EQUIP_HRS
, fact.ACT_LABOR_BRDN_COST
, fact.ACT_EQUIP_BRDN_COST
, fact.ACT_BRDN_COST
, fact.ACT_RAW_COST
, fact.ACT_REVENUE
, fact.ACT_LABOR_RAW_COST
, fact.ACT_EQUIP_RAW_COST
, fact.ETC_LABOR_HRS
, fact.ETC_EQUIP_HRS
, fact.ETC_LABOR_BRDN_COST
, fact.ETC_EQUIP_BRDN_COST
, fact.ETC_BRDN_COST
, fact.ETC_RAW_COST
, fact.ETC_LABOR_RAW_COST
, fact.ETC_EQUIP_RAW_COST
, fact.custom1
, fact.custom2
, fact.custom3
, fact.custom4
, fact.custom5
, fact.custom6
, fact.custom7
, fact.custom8
, fact.custom9
, fact.custom10
, fact.custom11
, fact.custom12
, fact.custom13
, fact.custom14
, fact.custom15
, fact.time_dangling_flag time_dangling_flag
, fact.rate_dangling_flag rate_dangling_flag
, cur.mau mau
, (LEAST(fact.end_date,entCal.end_date) - Greatest(fact.start_date,entCal.start_date)+1)
/ (fact.end_date - fact.start_date+1) factor
, fact.plan_type_code plan_type_code
FROM pji_fp_aggr_pjp1 fact
, pji_time_ent_period_v entCal
, pji_fm_extr_plnver4 ver
, (SELECT currency_code,
decode(nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION))),
null, 0.01,
0, 1,
nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION)))) mau
FROM FND_CURRENCIES) cur
WHERE 1=1
AND fact.CALENDAR_TYPE = 'A'
AND fact.worker_id = g_worker_id
AND ver.worker_id = g_worker_id
AND fact.start_date IS NOT NULL
AND fact.end_date IS NOT NULL
AND fact.time_dangling_flag IS NULL
AND fact.rate_dangling_flag IS NULL
AND fact.line_type = 'NTP'
AND fact.period_type_id = 2048
AND fact.plan_version_id = ver.plan_version_id
AND fact.plan_type_code = ver.plan_type_code /* 4471527 */
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND ver.time_phased_type_code = 'N'
AND fact.rbs_version_id = NVL(ver.rbs_struct_version_id , -1)
AND cur.currency_code = fact.currency_code
AND ( fact.start_date <= entCal.end_date AND fact.end_date >= entCal.start_date )
AND ver.plan_version_id > 0
) a
WHERE a.factor>0
GROUP BY
a.PROJECT_ID
, a.PROJECT_ORG_ID
, a.PROJECT_ORGANIZATION_ID
, a.PROJECT_ELEMENT_ID
, a.TIME_ID
, a.PERIOD_TYPE_ID
, a.CALENDAR_TYPE
, a.RBS_AGGR_LEVEL
, a.WBS_ROLLUP_FLAG
, a.PRG_ROLLUP_FLAG
, a.CURR_RECORD_TYPE_ID
, a.CURRENCY_CODE
, a.RBS_ELEMENT_ID
, a.RBS_VERSION_ID
, a.PLAN_VERSION_ID
, a.PLAN_TYPE_ID
, a.TIME_DANGLING_FLAG
, a.RATE_DANGLING_FLAG
, a.PLAN_TYPE_CODE ;
INSERT INTO pji_fp_aggr_pjp1
(
worker_id
, 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
, 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
, TIME_DANGLING_FLAG
, RATE_DANGLING_FLAG
, PRG_LEVEL
, PLAN_TYPE_CODE
)
SELECT
g_worker_id worker_id
, a.PROJECT_ID
, a.PROJECT_ORG_ID
, a.PROJECT_ORGANIZATION_ID
, a.PROJECT_ELEMENT_ID
, a.TIME_ID
, a.PERIOD_TYPE_ID
, a.CALENDAR_TYPE
, a.RBS_AGGR_LEVEL
, a.WBS_ROLLUP_FLAG
, a.PRG_ROLLUP_FLAG
, a.CURR_RECORD_TYPE_ID
, a.CURRENCY_CODE
, a.RBS_ELEMENT_ID
, a.RBS_VERSION_ID
, a.PLAN_VERSION_ID
, a.PLAN_TYPE_ID
, SUM(a.RAW_COST )
, SUM(a.BRDN_COST )
, SUM(a.REVENUE )
, SUM(a.BILL_RAW_COST )
, SUM(a.BILL_BRDN_COST )
, SUM(a.BILL_LABOR_RAW_COST )
, SUM(a.BILL_LABOR_BRDN_COST )
, SUM(a.BILL_LABOR_HRS )
, SUM(a.EQUIPMENT_RAW_COST )
, SUM(a.EQUIPMENT_BRDN_COST )
, SUM(a.CAPITALIZABLE_RAW_COST )
, SUM(a.CAPITALIZABLE_BRDN_COST )
, SUM(a.LABOR_RAW_COST )
, SUM(a.LABOR_BRDN_COST)
, SUM(a.LABOR_HRS )
, SUM(a.LABOR_REVENUE )
, SUM(a.EQUIPMENT_HOURS )
, SUM(a.BILLABLE_EQUIPMENT_HOURS)
, SUM(a.SUP_INV_COMMITTED_COST)
, SUM(a.PO_COMMITTED_COST )
, SUM(a.PR_COMMITTED_COST )
, SUM(a.OTH_COMMITTED_COST)
, SUM(a.ACT_LABOR_HRS)
, SUM(a.ACT_EQUIP_HRS)
, SUM(a.ACT_LABOR_BRDN_COST)
, SUM(a.ACT_EQUIP_BRDN_COST)
, SUM(a.ACT_BRDN_COST )
, SUM(a.ACT_RAW_COST )
, SUM(a.ACT_REVENUE )
, SUM(a.ACT_LABOR_RAW_COST)
, SUM(a.ACT_EQUIP_RAW_COST)
, SUM(a.ETC_LABOR_HRS )
, SUM(a.ETC_EQUIP_HRS )
, SUM(a.ETC_LABOR_BRDN_COST )
, SUM(a.ETC_EQUIP_BRDN_COST)
, SUM(a.ETC_BRDN_COST )
, SUM(a.ETC_RAW_COST)
, SUM(a.ETC_LABOR_RAW_COST)
, SUM(a.ETC_EQUIP_RAW_COST)
, SUM(a.CUSTOM1 )
, SUM(a.CUSTOM2 )
, SUM(a.CUSTOM3 )
, SUM(a.CUSTOM4 )
, SUM(a.CUSTOM5 )
, SUM(a.CUSTOM6 )
, SUM(a.CUSTOM7 )
, SUM(a.CUSTOM8 )
, SUM(a.CUSTOM9 )
, SUM(a.CUSTOM10 )
, SUM(a.CUSTOM11 )
, SUM(a.CUSTOM12 )
, SUM(a.CUSTOM13 )
, SUM(a.CUSTOM14 )
, SUM(a.CUSTOM15 )
, a.TIME_DANGLING_FLAG
, a.RATE_DANGLING_FLAG
, g_default_prg_level prg_level
, a.plan_type_code plan_type_code
FROM (
SELECT /*+ PARALLEL(fact) PARALLEL(calDet) */
fact.project_id project_id
, fact.project_ORG_ID project_ORG_ID
, fact.project_ORGANIZATION_ID project_ORGANIZATION_ID
, fact.PROJECT_ELEMENT_ID PROJECT_ELEMENT_ID
, calDet.sec_cal_period_id TIME_ID
, fact.PERIOD_TYPE_ID PERIOD_TYPE_ID
, DECODE(fact.CALENDAR_TYPE, 'P', 'G', 'G', 'P') CALENDAR_TYPE
, fact.RBS_AGGR_LEVEL
, fact.WBS_ROLLUP_FLAG
, fact.PRG_ROLLUP_FLAG
, fact.CURR_RECORD_TYPE_ID CURR_RECORD_TYPE_ID
, fact.CURRENCY_CODE CURRENCY_CODE
, fact.RBS_ELEMENT_ID RBS_ELEMENT_ID
, fact.RBS_VERSION_ID RBS_VERSION_ID
, fact.PLAN_VERSION_ID PLAN_VERSION_ID
, fact.PLAN_TYPE_ID PLAN_TYPE_ID
, ROUND (nvl(fact.raw_cost,0)*calDet.factor/cur.mau)*cur.mau raw_cost
, ROUND (nvl(fact.brdn_cost,0)*calDet.factor/cur.mau)*cur.mau brdn_cost
, ROUND (nvl(fact.revenue,0)*calDet.factor/cur.mau)*cur.mau revenue
, ROUND (nvl(fact.bill_raw_cost,0)*calDet.factor/cur.mau)*cur.mau bill_raw_cost
, ROUND (nvl(fact.bill_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau bill_brdn_cost
, ROUND (nvl(fact.bill_labor_raw_cost,0)*calDet.factor/cur.mau)*cur.mau bill_labor_raw_cost
, ROUND (nvl(fact.bill_labor_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau bill_labor_brdn_cost
, ROUND (nvl(fact.bill_labor_hrs,0)*calDet.factor/cur.mau)*cur.mau bill_labor_hrs
, ROUND (nvl(fact.equipment_raw_cost,0)*calDet.factor/cur.mau)*cur.mau equipment_raw_cost
, ROUND (nvl(fact.equipment_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau equipment_brdn_cost
, ROUND (nvl(fact.capitalizable_raw_cost,0)*calDet.factor/cur.mau)*cur.mau capitalizable_raw_cost
, ROUND (nvl(fact.capitalizable_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau capitalizable_brdn_cost
, ROUND (nvl(fact.labor_raw_cost,0)*calDet.factor/cur.mau)*cur.mau labor_raw_cost
, ROUND (nvl(fact.labor_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau labor_brdn_cost
, ROUND (nvl(fact.labor_hrs,0)*calDet.factor/cur.mau)*cur.mau labor_hrs
, ROUND (nvl(fact.labor_revenue,0)*calDet.factor/cur.mau)*cur.mau labor_revenue
, ROUND (nvl(fact.equipment_hours,0)*calDet.factor/cur.mau)*cur.mau equipment_hours
, ROUND (nvl(fact.billable_equipment_hours,0)*calDet.factor/cur.mau)*cur.mau billable_equipment_hours
, ROUND (nvl(fact.sup_inv_committed_cost,0)*calDet.factor/cur.mau)*cur.mau sup_inv_committed_cost
, ROUND (nvl(fact.po_committed_cost,0)*calDet.factor/cur.mau)*cur.mau po_committed_cost
, ROUND (nvl(fact.pr_committed_cost,0)*calDet.factor/cur.mau)*cur.mau pr_committed_cost
, ROUND (nvl(fact.oth_committed_cost,0)*calDet.factor/cur.mau)*cur.mau oth_committed_cost
, ROUND (nvl(fact.ACT_LABOR_HRS,0)*calDet.factor/cur.mau)*cur.mau ACT_LABOR_HRS
, ROUND (nvl(fact.ACT_EQUIP_HRS,0)*calDet.factor/cur.mau)*cur.mau ACT_EQUIP_HRS
, ROUND (nvl(fact.ACT_LABOR_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_LABOR_BRDN_COST
, ROUND (nvl(fact.ACT_EQUIP_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_EQUIP_BRDN_COST
, ROUND (nvl(fact.ACT_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_BRDN_COST
, ROUND (nvl(fact.ACT_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_RAW_COST
, ROUND (nvl(fact.ACT_REVENUE,0)*calDet.factor/cur.mau)*cur.mau ACT_REVENUE
, ROUND (nvl(fact.ACT_LABOR_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_LABOR_RAW_COST
, ROUND (nvl(fact.ACT_EQUIP_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_EQUIP_RAW_COST
, ROUND (nvl(fact.ETC_LABOR_HRS,0)*calDet.factor/cur.mau)*cur.mau ETC_LABOR_HRS
, ROUND (nvl(fact.ETC_EQUIP_HRS,0)*calDet.factor/cur.mau)*cur.mau ETC_EQUIP_HRS
, ROUND (nvl(fact.ETC_LABOR_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_LABOR_BRDN_COST
, ROUND (nvl(fact.ETC_EQUIP_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_EQUIP_BRDN_COST
, ROUND (nvl(fact.ETC_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_BRDN_COST
, ROUND (nvl(fact.ETC_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_RAW_COST
, ROUND (nvl(fact.ETC_LABOR_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_LABOR_RAW_COST
, ROUND (nvl(fact.ETC_EQUIP_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_EQUIP_RAW_COST
, ROUND (nvl(fact.custom1,0)*calDet.factor/cur.mau)*cur.mau custom1
, ROUND (nvl(fact.custom2,0)*calDet.factor/cur.mau)*cur.mau custom2
, ROUND (nvl(fact.custom3,0)*calDet.factor/cur.mau)*cur.mau custom3
, ROUND (nvl(fact.custom4,0)*calDet.factor/cur.mau)*cur.mau custom4
, ROUND (nvl(fact.custom5,0)*calDet.factor/cur.mau)*cur.mau custom5
, ROUND (nvl(fact.custom6,0)*calDet.factor/cur.mau)*cur.mau custom6
, ROUND (nvl(fact.custom7,0)*calDet.factor/cur.mau)*cur.mau custom7
, ROUND (nvl(fact.custom8,0)*calDet.factor/cur.mau)*cur.mau custom8
, ROUND (nvl(fact.custom9,0)*calDet.factor/cur.mau)*cur.mau custom9
, ROUND (nvl(fact.custom10,0)*calDet.factor/cur.mau)*cur.mau custom10
, ROUND (nvl(fact.custom11,0)*calDet.factor/cur.mau)*cur.mau custom11
, ROUND (nvl(fact.custom12,0)*calDet.factor/cur.mau)*cur.mau custom12
, ROUND (nvl(fact.custom13,0)*calDet.factor/cur.mau)*cur.mau custom13
, ROUND (nvl(fact.custom14,0)*calDet.factor/cur.mau)*cur.mau custom14
, ROUND (nvl(fact.custom15,0)*calDet.factor/cur.mau)*cur.mau custom15
, fact.time_dangling_flag time_dangling_flag
, fact.rate_dangling_flag rate_dangling_flag
, fact.plan_type_code plan_type_code
FROM pji_fp_aggr_pjp1 fact,
(SELECT /*+ NO_MERGE LEADING (orginfo sec pri ppa ver) USE_HASH(ver) parallel(ver) */
(LEAST(pri.end_date,sec.end_date) - Greatest(pri.start_date,sec.start_date)+1)
/ (pri.end_date - pri.start_date+1) factor,
ppa.project_id,
ver.rbs_struct_Version_id rbs_struct_version_id,
ver.plan_version_id plan_Version_id,
ver.plan_type_code plan_type_code ,
pri.cal_period_id pri_cal_period_id,
sec.cal_period_id sec_cal_period_id,
orginfo.org_id
FROM
pji_time_cal_period_v pri
, pji_org_extr_info orginfo
, pji_time_cal_period_v sec
, pji_fm_extr_plnver4 ver
, pa_projects_all ppa
WHERE 1=1
AND ppa.org_id=orginfo.org_id
AND ver.worker_id = g_worker_id
AND pri.calendar_id in (orginfo.gl_calendar_id,orginfo.pa_calendar_id)
AND sec.calendar_id in (orginfo.gl_calendar_id,orginfo.pa_calendar_id)
AND ppa.project_id=ver.project_id
AND decode(ver.time_phased_type_code,
'P',orginfo.pa_calendar_id,'G',orginfo.gl_calendar_id)=pri.calendar_id
AND decode(ver.time_phased_type_code,
'G',orginfo.pa_calendar_id,'P',orginfo.gl_calendar_id)=sec.calendar_id
AND ver.wp_flag = 'N'
AND ( sec.start_date <= pri.end_date AND sec.end_date >= pri.start_date )
AND ver.baselined_flag = 'Y'
AND ver.plan_version_id > 0 ) calDet,
(SELECT currency_code,
decode(nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION))),
null, 0.01,
0, 1,
nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION)))) mau
FROM FND_CURRENCIES) cur
WHERE 1=1
AND calDet.factor > 0
AND fact.rbs_version_id = NVL(calDet.rbs_struct_version_id , -1)
AND fact.CALENDAR_TYPE <> p_calendar_type
AND fact.worker_id = g_worker_id
AND fact.CALENDAR_TYPE IN ('P', 'G')
AND CalDet.pri_cal_period_id = fact.time_id
AND calDet.org_id = fact.PROJECT_ORG_ID
AND fact.time_dangling_flag IS NULL
AND fact.rate_dangling_flag IS NULL
AND fact.period_type_id = 32
AND fact.line_type like 'OF%' -- 4518721
AND fact.plan_version_id = calDet.plan_version_id
AND fact.plan_type_code = calDet.plan_type_code
AND cur.currency_code = fact.currency_code
) a
GROUP BY
a.PROJECT_ID
, a.PROJECT_ORG_ID
, a.PROJECT_ORGANIZATION_ID
, a.PROJECT_ELEMENT_ID
, a.TIME_ID
, a.PERIOD_TYPE_ID
, a.CALENDAR_TYPE
, a.RBS_AGGR_LEVEL
, a.WBS_ROLLUP_FLAG
, a.PRG_ROLLUP_FLAG
, a.CURR_RECORD_TYPE_ID
, a.CURRENCY_CODE
, a.RBS_ELEMENT_ID
, a.RBS_VERSION_ID
, a.PLAN_VERSION_ID
, a.PLAN_TYPE_ID
, a.TIME_DANGLING_FLAG
, a.RATE_DANGLING_FLAG
, a.plan_type_code ;
INSERT INTO pji_fp_aggr_pjp1 -- Non time phased entries..
(
worker_id
, PROJECT_ID
, PROJECT_ORG_ID
, PROJECT_ORGANIZATION_ID
-- , PARTITION_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
, 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
, TIME_DANGLING_FLAG
, RATE_DANGLING_FLAG
, PRG_LEVEL
, PLAN_TYPE_CODE
)
SELECT
g_worker_id worker_id
, a.PROJECT_ID
, a.PROJECT_ORG_ID
, a.PROJECT_ORGANIZATION_ID
, a.PROJECT_ELEMENT_ID
, a.TIME_ID
, 32 -- a.PERIOD_TYPE_ID
, a.CALENDAR_TYPE
, a.RBS_AGGR_LEVEL
, a.WBS_ROLLUP_FLAG
, a.PRG_ROLLUP_FLAG
, a.CURR_RECORD_TYPE_ID
, a.CURRENCY_CODE
, a.RBS_ELEMENT_ID
, a.RBS_VERSION_ID
, a.PLAN_VERSION_ID
, a.PLAN_TYPE_ID
, SUM(ROUND (nvl(a.raw_cost,0)*a.factor/a.mau)*a.mau) raw_cost
, SUM(ROUND (nvl(a.brdn_cost,0)*a.factor/a.mau)*a.mau) brdn_cost
, SUM(ROUND (nvl(a.revenue,0)*a.factor/a.mau)*a.mau) revenue
, SUM(ROUND (nvl(a.bill_raw_cost,0)*a.factor/a.mau)*a.mau) bill_raw_cost
, SUM(ROUND (nvl(a.bill_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_brdn_cost
, SUM(ROUND (nvl(a.bill_labor_raw_cost,0)*a.factor/a.mau)*a.mau) bill_labor_raw_cost
, SUM(ROUND (nvl(a.bill_labor_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_labor_brdn_cost
, SUM(ROUND (nvl(a.bill_labor_hrs,0)*a.factor/a.mau)*a.mau) bill_labor_hrs
, SUM(ROUND (nvl(a.equipment_raw_cost,0)*a.factor/a.mau)*a.mau) equipment_raw_cost
, SUM(ROUND (nvl(a.equipment_brdn_cost,0)*a.factor/a.mau)*a.mau) equipment_brdn_cost
, SUM(ROUND (nvl(a.capitalizable_raw_cost,0)*a.factor/a.mau)*a.mau) capitalizable_raw_cost
, SUM(ROUND (nvl(a.capitalizable_brdn_cost,0)*a.factor/a.mau)*a.mau) capitalizable_brdn_cost
, SUM(ROUND (nvl(a.labor_raw_cost,0)*a.factor/a.mau)*a.mau) labor_raw_cost
, SUM(ROUND (nvl(a.labor_brdn_cost,0)*a.factor/a.mau)*a.mau) labor_brdn_cost
, SUM(ROUND (nvl(a.labor_hrs,0)*a.factor/a.mau)*a.mau) labor_hrs
, SUM(ROUND (nvl(a.labor_revenue,0)*a.factor/a.mau)*a.mau) labor_revenue
, SUM(ROUND (nvl(a.equipment_hours,0)*a.factor/a.mau)*a.mau) equipment_hours
, SUM(ROUND (nvl(a.billable_equipment_hours,0)*a.factor/a.mau)*a.mau) billable_equipment_hours
, SUM(ROUND (nvl(a.sup_inv_committed_cost,0)*a.factor/a.mau)*a.mau) sup_inv_committed_cost
, SUM(ROUND (nvl(a.po_committed_cost,0)*a.factor/a.mau)*a.mau) po_committed_cost
, SUM(ROUND (nvl(a.pr_committed_cost,0)*a.factor/a.mau)*a.mau) pr_committed_cost
, SUM(ROUND (nvl(a.oth_committed_cost,0)*a.factor/a.mau)*a.mau) oth_committed_cost
, SUM(ROUND (nvl(a.ACT_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ACT_LABOR_HRS
, SUM(ROUND (nvl(a.ACT_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_HRS
, SUM(ROUND (nvl(a.ACT_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_BRDN_COST
, SUM(ROUND (nvl(a.ACT_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_BRDN_COST
, SUM(ROUND (nvl(a.ACT_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_BRDN_COST
, SUM(ROUND (nvl(a.ACT_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_RAW_COST
, SUM(ROUND (nvl(a.ACT_REVENUE,0)*a.factor/a.mau)*a.mau) ACT_REVENUE
, SUM(ROUND (nvl(a.ACT_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_RAW_COST
, SUM(ROUND (nvl(a.ACT_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_RAW_COST
, SUM(ROUND (nvl(a.ETC_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ETC_LABOR_HRS
, SUM(ROUND (nvl(a.ETC_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_HRS
, SUM(ROUND (nvl(a.ETC_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_BRDN_COST
, SUM(ROUND (nvl(a.ETC_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_BRDN_COST
, SUM(ROUND (nvl(a.ETC_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_BRDN_COST
, SUM(ROUND (nvl(a.ETC_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_RAW_COST
, SUM(ROUND (nvl(a.ETC_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_RAW_COST
, SUM(ROUND (nvl(a.ETC_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_RAW_COST
, SUM(ROUND (nvl(a.custom1,0)*a.factor/a.mau)*a.mau) custom1
, SUM(ROUND (nvl(a.custom2,0)*a.factor/a.mau)*a.mau) custom2
, SUM(ROUND (nvl(a.custom3,0)*a.factor/a.mau)*a.mau) custom3
, SUM(ROUND (nvl(a.custom4,0)*a.factor/a.mau)*a.mau) custom4
, SUM(ROUND (nvl(a.custom5,0)*a.factor/a.mau)*a.mau) custom5
, SUM(ROUND (nvl(a.custom6,0)*a.factor/a.mau)*a.mau) custom6
, SUM(ROUND (nvl(a.custom7,0)*a.factor/a.mau)*a.mau) custom7
, SUM(ROUND (nvl(a.custom8,0)*a.factor/a.mau)*a.mau) custom8
, SUM(ROUND (nvl(a.custom9,0)*a.factor/a.mau)*a.mau) custom9
, SUM(ROUND (nvl(a.custom10,0)*a.factor/a.mau)*a.mau) custom10
, SUM(ROUND (nvl(a.custom11,0)*a.factor/a.mau)*a.mau) custom11
, SUM(ROUND (nvl(a.custom12,0)*a.factor/a.mau)*a.mau) custom12
, SUM(ROUND (nvl(a.custom13,0)*a.factor/a.mau)*a.mau) custom13
, SUM(ROUND (nvl(a.custom14,0)*a.factor/a.mau)*a.mau) custom14
, SUM(ROUND (nvl(a.custom15,0)*a.factor/a.mau)*a.mau) custom15
, a.TIME_DANGLING_FLAG
, a.RATE_DANGLING_FLAG
, g_default_prg_level prg_level
, a.PLAN_TYPE_CODE PLAN_TYPE_CODE
FROM (
SELECT /*+ NO_MERGE use_hash(fact) use_hash(ver) parallel(ver) parallel(fact) */
fact.project_id project_id
, fact.project_ORG_ID project_ORG_ID
, fact.project_ORGANIZATION_ID project_ORGANIZATION_ID
, fact.PROJECT_ELEMENT_ID PROJECT_ELEMENT_ID
, pa_cal.cal_period_id TIME_ID
, fact.PERIOD_TYPE_ID PERIOD_TYPE_ID
, p_calendar_type CALENDAR_TYPE
, fact.RBS_AGGR_LEVEL
, fact.WBS_ROLLUP_FLAG
, fact.PRG_ROLLUP_FLAG
, fact.CURR_RECORD_TYPE_ID CURR_RECORD_TYPE_ID
, fact.CURRENCY_CODE CURRENCY_CODE
, fact.RBS_ELEMENT_ID RBS_ELEMENT_ID
, fact.RBS_VERSION_ID RBS_VERSION_ID
, fact.PLAN_VERSION_ID PLAN_VERSION_ID
, fact.PLAN_TYPE_ID PLAN_TYPE_ID
, fact.raw_cost
, fact.brdn_cost
, fact.revenue
, fact.bill_raw_cost
, fact.bill_brdn_cost
, fact.bill_labor_raw_cost
, fact.bill_labor_brdn_cost
, fact.bill_labor_hrs
, fact.equipment_raw_cost
, fact.equipment_brdn_cost
, fact.capitalizable_raw_cost
, fact.capitalizable_brdn_cost
, fact.labor_raw_cost
, fact.labor_brdn_cost
, fact.labor_hrs
, fact.labor_revenue
, fact.equipment_hours
, fact.billable_equipment_hours
, fact.sup_inv_committed_cost
, fact.po_committed_cost
, fact.pr_committed_cost
, fact.oth_committed_cost
, fact.ACT_LABOR_HRS
, fact.ACT_EQUIP_HRS
, fact.ACT_LABOR_BRDN_COST
, fact.ACT_EQUIP_BRDN_COST
, fact.ACT_BRDN_COST
, fact.ACT_RAW_COST
, fact.ACT_REVENUE
, fact.ACT_LABOR_RAW_COST
, fact.ACT_EQUIP_RAW_COST
, fact.ETC_LABOR_HRS
, fact.ETC_EQUIP_HRS
, fact.ETC_LABOR_BRDN_COST
, fact.ETC_EQUIP_BRDN_COST
, fact.ETC_BRDN_COST
, fact.ETC_RAW_COST
, fact.ETC_LABOR_RAW_COST
, fact.ETC_EQUIP_RAW_COST
, fact.custom1
, fact.custom2
, fact.custom3
, fact.custom4
, fact.custom5
, fact.custom6
, fact.custom7
, fact.custom8
, fact.custom9
, fact.custom10
, fact.custom11
, fact.custom12
, fact.custom13
, fact.custom14
, fact.custom15
, NULL time_dangling_flag
, NULL rate_dangling_flag
, cur.mau mau
, (LEAST(fact.end_date,pa_cal.end_date) - Greatest(fact.start_date,pa_cal.start_date)+1)
/ (fact.end_date - fact.start_date+1) factor
, fact.plan_type_code plan_type_code
FROM pji_fp_aggr_pjp1 fact
, pji_org_extr_info orginfo
, pji_time_cal_period_v pa_cal
, pji_fm_extr_plnver4 ver
,(SELECT currency_code,
decode(nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION))),
null, 0.01,
0, 1,
nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION)))) mau
FROM FND_CURRENCIES) cur
WHERE 1=1
AND fact.CALENDAR_TYPE = 'A'
AND fact.worker_id = g_worker_id
AND ver.worker_id = g_worker_id
AND fact.start_date IS NOT NULL
AND fact.end_date IS NOT NULL
AND fact.time_dangling_flag IS NULL
AND fact.rate_dangling_flag IS NULL
AND orginfo.org_id = fact.PROJECT_ORG_ID
AND DECODE(p_calendar_type
, 'P', orginfo.pa_calendar_id
, 'G', orginfo.gl_calendar_id) = pa_cal.calendar_id
AND fact.line_type = 'NTP'
AND fact.period_type_id = 2048
AND fact.plan_version_id = ver.plan_version_id
AND fact.plan_type_code = ver.plan_type_code /* 4471527 */
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND ver.time_phased_type_code = 'N'
AND ( fact.start_date <= pa_cal.end_date AND fact.end_date >= pa_cal.start_date )
AND fact.rbs_version_id = NVL(ver.rbs_struct_version_id , -1)
AND cur.currency_code = fact.currency_code
AND ver.plan_version_id > 0
) a
WHERE a.factor >0
GROUP BY
a.PROJECT_ID
, a.PROJECT_ORG_ID
, a.PROJECT_ORGANIZATION_ID
, a.PROJECT_ELEMENT_ID
, a.TIME_ID
, a.PERIOD_TYPE_ID
, a.CALENDAR_TYPE
, a.RBS_AGGR_LEVEL
, a.WBS_ROLLUP_FLAG
, a.PRG_ROLLUP_FLAG
, a.CURR_RECORD_TYPE_ID
, a.CURRENCY_CODE
, a.RBS_ELEMENT_ID
, a.RBS_VERSION_ID
, a.PLAN_VERSION_ID
, a.PLAN_TYPE_ID
, a.TIME_DANGLING_FLAG
, a.RATE_DANGLING_FLAG
, a.PLAN_TYPE_CODE ;
PROCEDURE INSERT_INTO_FP_FACT IS
l_last_update_date date := SYSDATE;
l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
FROM dba_indexes
WHERE table_name = 'PJI_FP_XBS_ACCUM_F'
AND table_owner = l_pji_schema ) LOOP
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' UNUSABLE';
INSERT /*+ append parallel(rl) */ INTO pji_fp_xbs_accum_f rl
(
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
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, CREATION_DATE
, CREATED_BY
, LAST_UPDATE_LOGIN
, 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
, PLAN_TYPE_CODE
)
SELECT /*+ parallel(pjp1) */
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
, l_last_update_date
, l_last_updated_by
, l_creation_date
, l_created_by
, l_last_update_login
, 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
, DECODE(SIGN(pjp1.ETC_LABOR_HRS), -1, 0, pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS
, DECODE(SIGN(pjp1.ETC_EQUIP_HRS), -1, 0, pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS
, DECODE(SIGN(pjp1.ETC_LABOR_BRDN_COST), -1, 0, pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST
, DECODE(SIGN(pjp1.ETC_EQUIP_BRDN_COST), -1, 0, pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST
, DECODE(SIGN(pjp1.ETC_BRDN_COST), -1, 0, pjp1.ETC_BRDN_COST) ETC_BRDN_COST
, DECODE(SIGN(pjp1.ETC_RAW_COST), -1, 0, pjp1.ETC_RAW_COST) ETC_RAW_COST
, DECODE(SIGN(pjp1.ETC_LABOR_RAW_COST), -1, 0, pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST
, DECODE(SIGN(pjp1.ETC_EQUIP_RAW_COST), -1, 0, 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
, pjp1.PLAN_TYPE_CODE
FROM
pji_fp_aggr_pjp1 pjp1
WHERE 1=1
AND worker_id = g_worker_id;
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
FROM dba_indexes
WHERE table_name = 'PJI_FP_XBS_ACCUM_F'
AND table_owner = l_pji_schema ) LOOP
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARALLEL';
p_procedure_name => 'INSERT_INTO_FP_FACT');
PROCEDURE INSERT_INTO_FP_FACT1 IS
l_last_update_date date := SYSDATE;
l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
INSERT /*+ append parallel(rl) */ INTO pji_fp_xbs_accum_f rl
(
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
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, CREATION_DATE
, CREATED_BY
, LAST_UPDATE_LOGIN
, 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
, PLAN_TYPE_CODE
)
SELECT /*+ parallel(pjp1) */
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
, l_last_update_date
, l_last_updated_by
, l_creation_date
, l_created_by
, l_last_update_login
, 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
, DECODE(SIGN(pjp1.ETC_LABOR_HRS), -1, 0, pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS
, DECODE(SIGN(pjp1.ETC_EQUIP_HRS), -1, 0, pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS
, DECODE(SIGN(pjp1.ETC_LABOR_BRDN_COST), -1, 0, pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST
, DECODE(SIGN(pjp1.ETC_EQUIP_BRDN_COST), -1, 0, pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST
, DECODE(SIGN(pjp1.ETC_BRDN_COST), -1, 0, pjp1.ETC_BRDN_COST) ETC_BRDN_COST
, DECODE(SIGN(pjp1.ETC_RAW_COST), -1, 0, pjp1.ETC_RAW_COST) ETC_RAW_COST
, DECODE(SIGN(pjp1.ETC_LABOR_RAW_COST), -1, 0, pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST
, DECODE(SIGN(pjp1.ETC_EQUIP_RAW_COST), -1, 0, 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
, pjp1.PLAN_TYPE_CODE
FROM
pji_merge_helper pjp1
WHERE 1=1
AND worker_id = g_worker_id;
p_procedure_name => 'INSERT_INTO_FP_FACT1');
DELETE FROM PJI_FM_AGGR_DLY_RATES
WHERE worker_id = g_worker_id;
INSERT INTO PJI_FM_AGGR_DLY_RATES (
WORKER_ID ,
PF_CURRENCY_CODE ,
TIME_ID ,
RATE ,
MAU ,
RATE2 ,
MAU2)
select worker_id,
projfunc_currency_code,
time_id,
PJI_UTILS.GET_GLOBAL_RATE_PRIMARY (temp.projfunc_currency_code
, DECODE ( g_currency_conversion_rule
, 'S'
, temp.start_date
, 'E'
, temp.end_date ))
rate1,
l_gl1_mau mau1,
DECODE ( PJI_UTILS.GET_SETUP_PARAMETER('GLOBAL_CURR2_FLAG'),
'Y',
PJI_UTILS.GET_GLOBAL_RATE_SECONDARY(
temp.projfunc_currency_code,
DECODE ( g_currency_conversion_rule
, 'S'
, temp.start_date
, 'E'
, temp.end_date
)
) ,
NULL
) rate2,
l_gl2_mau mau2
FROM (
SELECT /*+ cardinality(ver 100000) leading(ver bl) use_hash(ver)
use_hash(bl) use_hash(prd) use_hash(ppa) use_hash(inf)
parallel(ver) parallel(bl) */
DISTINCT
g_worker_id worker_id
, ppa.projfunc_currency_code
, cal_period_id time_id
, DECODE( g_currency_conversion_rule
, 'S'
, prd.start_date
, TO_DATE(NULL)
) start_date
, DECODE( g_currency_conversion_rule
, 'E'
, prd.end_date
, TO_DATE(NULL)
) end_date
FROM pa_budget_lines bl
, pji_time_cal_period_v prd
, PJI_FM_EXTR_PLNVER4 ver
, pa_projects_all ppa
,PJI_ORG_EXTR_INFO inf
WHERE 1=1
AND bl.budget_version_id = ver.plan_version_id
AND ver.time_phased_type_code IN ('P', 'G')
AND bl.period_name = prd.name
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND ver.project_id = ppa.project_id
AND ppa.org_id = inf.org_id
AND DECODE ( ver.time_phased_type_code
, 'P'
, inf.pa_calendar_id
, 'G'
, inf.gl_calendar_id
) = prd.calendar_id
AND ver.worker_id = g_worker_id
UNION ALL
SELECT /*+ cardinality(ver 100000) leading(ver ra) use_hash(ver)
use_hash(ra) use_hash(ppa) */
DISTINCT
g_worker_id worker_id
, ppa.projfunc_currency_code
, DECODE ( g_currency_conversion_rule
, 'S'
, TO_NUMBER(to_CHAR(ra.planning_start_date, 'J'))
, 'E'
, TO_NUMBER(to_CHAR(ra.planning_end_date, 'J')) ) time_id
, DECODE( g_currency_conversion_rule
, 'S'
, ra.planning_start_date
, TO_DATE(NULL)
) start_date
, DECODE( g_currency_conversion_rule
, 'E'
, ra.planning_end_date
, TO_DATE(NULL)
) end_date
FROM pa_resource_assignments ra
, PJI_FM_EXTR_PLNVER4 ver
, pa_projects_all ppa
WHERE 1=1
AND ra.budget_version_id = ver.plan_version_id
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND ver.time_phased_type_code = 'N'
AND ver.project_id = ppa.project_id
AND ver.worker_id = g_worker_id
) temp;
UPDATE PJI_FM_EXTR_PLNVER4 ver
SET rate_dangling_flag = 'Y'
WHERE EXISTS
( SELECT NULL
FROM PA_BUDGET_LINES bl,
pji_time_cal_period_v prd,
PJI_FM_AGGR_DLY_RATES rates
WHERE rates.time_id=prd.cal_period_id
AND bl.period_name = prd.name
AND (sign(rates.rate)=-1 OR sign(rates.rate2) = -1)
AND ver.time_phased_type_code IN ('P', 'G')
AND rates.worker_id=g_worker_id /* Added for bug 4083581 */
-- AND ver.project_id = bl.project_id /* This is not required since budget_version_is unique */
AND ver.plan_version_id = bl.budget_version_id
UNION ALL
SELECT NULL
FROM pa_resource_assignments ra,
PJI_FM_AGGR_DLY_RATES rates
WHERE rates.time_id= DECODE ( g_currency_conversion_rule
, 'S'
, TO_NUMBER(to_CHAR(ra.planning_start_date, 'J'))
, 'E'
, TO_NUMBER(to_CHAR(ra.planning_end_date, 'J')) )
AND (sign(rates.rate)=-1 OR sign(rates.rate2) = -1)
AND ver.time_phased_type_code = 'N'
AND rates.worker_id=g_worker_id /* Added for bug 4083581 */
-- AND ver.project_id = ra.project_id /* This is not required since budget_version_id is unique */
AND ver.plan_version_id = ra.budget_version_id
)
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND ver.worker_id = g_worker_id;
l_last_update_date date := SYSDATE;
l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
INSERT INTO pji_pjp_rbs_header
(
project_id
, plan_version_id
, rbs_version_id
, reporting_usage_flag
, prog_rep_usage_flag
, plan_usage_flag
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, CREATION_DATE
, CREATED_BY
, LAST_UPDATE_LOGIN
,PLAN_TYPE_CODE /*4471527 */
)
SELECT /*+ ordered
parallel(bv) */ DISTINCT
rpa.project_id
, bv.plan_version_id
, rpa.rbs_version_id
, rpa.reporting_usage_flag
, rpa.prog_rep_usage_flag
, DECODE(bv.wp_flag, 'Y', rpa.wp_usage_flag, rpa.fp_usage_flag)
, l_last_update_date
, l_last_updated_by
, l_creation_date
, l_created_by
, l_last_update_login
, bv.plan_type_code
FROM
PJI_FM_EXTR_PLNVER4 bv,
PA_RBS_PRJ_ASSIGNMENTS rpa,
PJI_PJP_RBS_HEADER head
WHERE bv.project_id = rpa.project_id
AND bv.worker_id = g_worker_id
AND bv.RBS_STRUCT_VERSION_ID = rpa.RBS_VERSION_ID
AND bv.PROJECT_ID = head.PROJECT_ID (+)
AND bv.PLAN_VERSION_ID = head.PLAN_VERSION_ID (+)
AND bv.PLAN_TYPE_CODE = head.PLAN_TYPE_CODE (+) /*4471527 */
AND bv.RBS_STRUCT_VERSION_ID = head.RBS_VERSION_ID (+)
AND head.PROJECT_ID IS NULL;
PROCEDURE UPDATE_WBS_HDR IS
pragma autonomous_transaction; /* Added for Bug 14735308 */
l_last_update_date date := SYSDATE;
l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
delete from pji_fp_aggr_pjp1_t; -- 5309891
INSERT INTO pji_fp_aggr_pjp1_t
( WORKER_ID
, 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
, PLAN_VERSION_ID, PLAN_TYPE_ID, PLAN_TYPE_CODE
, start_date, end_date)
SELECT /*+ parallel(pjp1) */
g_worker_id
, whdr.project_id, 0, 0, 0
, 0, 0, 'X', 'X'
, 'X', 'X', 0, 'X'
, whdr.plan_version_id, NVL(whdr.plan_type_id, -1)
, whdr.PLAN_TYPE_CODE
, MIN(LEAST(cal.start_date, NVL(whdr.min_txn_date, cal.start_date))) start_date
, MAX(GREATEST(cal.end_date, NVL(whdr.max_txn_date, cal.end_date))) end_date
FROM PJI_FP_AGGR_PJP1 pjp1
, pji_time_cal_period_v cal
, pji_pjp_wbs_header whdr
WHERE
pjp1.worker_id = g_worker_id
AND pjp1.project_id = whdr.project_id
AND pjp1.plan_type_id = NVL(whdr.plan_type_id, -1)
AND pjp1.plan_version_id = whdr.plan_version_id
AND pjp1.time_id = cal.cal_period_id
AND pjp1.calendar_type IN ('P', 'G') -- Non time ph and ent cals don't need to be considered.
AND pjp1.plan_type_code = whdr.plan_type_code
GROUP BY whdr.project_id, whdr.plan_type_id
, whdr.plan_version_id, whdr.plan_type_code;
UPDATE /*+ index(whdr,PJI_PJP_WBS_HEADER_N1) */
PJI_PJP_WBS_HEADER whdr
SET ( MIN_TXN_DATE
, MAX_TXN_DATE
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, LAST_UPDATE_LOGIN ) = (
SELECT start_date
, end_date
, l_last_update_date
, l_last_updated_by
, l_last_update_login
FROM pji_fp_aggr_pjp1_t dates
WHERE
dates.plan_version_id = whdr.plan_version_id
AND dates.project_id = whdr.project_id
AND dates.plan_type_id = NVL(whdr.plan_type_id, -1)
AND dates.plan_type_code = whdr.plan_type_code
)
WHERE (project_id, NVL(plan_type_id, -1), plan_version_id, plan_type_code) IN (
SELECT project_id, plan_type_id, plan_version_id , plan_type_code
FROM PJI_FP_AGGR_PJP1_T ver
);
delete from pji_fp_aggr_pjp1_t;
INSERT INTO PJI_FP_AGGR_PJP1
(
WORKER_ID
, 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
, 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
, LINE_TYPE
, RATE_DANGLING_FLAG
, TIME_DANGLING_FLAG
, START_DATE
, END_DATE
, PRG_LEVEL
, PLAN_TYPE_CODE
)
SELECT
WORKER_ID
, PROJECT_ID
, PROJECT_ORG_ID
, project_ORGANIZATION_ID
, WBS_ELEMENT_ID
, time_id
, period_type_id
, CALENDAR_TYPE
, g_lowest_level RBS_AGGR_LEVEL
, 'N' WBS_ROLLUP_FLAG
, 'N' PRG_ROLLUP_FLAG
, CURR_RECORD_TYPE
, currency_code
, RBS_ELEMENT_ID
, RBS_STRUCT_VERSION_ID
, plan_version_id
, plan_type_id
, decode(rate_dangling_flag,null,SUM(RAW_COST),0)
, decode(rate_dangling_flag,null,SUM(BRDN_COST),0)
, decode(rate_dangling_flag,null,SUM(REVENUE),0)
, decode(rate_dangling_flag,null,SUM ( BILL_RAW_COST ),0) BILL_RAW_COST
, decode(rate_dangling_flag,null,SUM (BILL_BRDN_COST ),0) BILL_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( BILL_LABOR_RAW_COST),0) BILL_LABOR_RAW_COST
, decode(rate_dangling_flag,null,SUM ( BILL_LABOR_BRDN_COST),0) BILL_LABOR_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( BILL_LABOR_HRS),0) BILL_LABOR_HRS
, decode(rate_dangling_flag,null,SUM ( EQUIPMENT_RAW_COST),0) EQUIPMENT_RAW_COST
, decode(rate_dangling_flag,null,SUM ( EQUIPMENT_BRDN_COST),0) EQUIPMENT_BRDN_COST
, decode(rate_dangling_flag,null,SUM (CAPITALIZABLE_RAW_COST),0) CAPITALIZABLE_RAW_COST
, decode(rate_dangling_flag,null,SUM ( CAPITALIZABLE_BRDN_COST),0)
, decode(rate_dangling_flag,null,SUM ( LABOR_RAW_COST),0) LABOR_RAW_COST
, decode(rate_dangling_flag,null,SUM ( LABOR_BRDN_COST),0) LABOR_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( labor_hrs),0) labor_hrs
, decode(rate_dangling_flag,null,SUM (LABOR_REVENUE),0) LABOR_REVENUE
, decode(rate_dangling_flag,null,SUM (EQUIPMENT_HOURS),0) EQUIPMENT_HOURS
, decode(rate_dangling_flag,null,SUM ( BILLABLE_EQUIPMENT_HOURS),0) BILLABLE_EQUIPMENT_HOURS
, decode(rate_dangling_flag,null,SUM(SUP_INV_COMMITTED_COST),0) SUP_INV_COMMITTED_COST
, decode(rate_dangling_flag,null,SUM(PO_COMMITTED_COST),0) PO_COMMITTED_COST
, decode(rate_dangling_flag,null,SUM(PR_COMMITTED_COST),0) PR_COMMITTED_COST
, decode(rate_dangling_flag,null,SUM(OTH_COMMITTED_COST),0) PR_COMMITTED_COST
, decode(rate_dangling_flag,null,SUM ( ACT_LABOR_HRS),0) ACT_LABOR_HRS
, decode(rate_dangling_flag,null,SUM (ACT_EQUIP_HOURS),0) ACT_EQUIP_HOURS
, decode(rate_dangling_flag,null,SUM ( ACT_LABOR_BRDN_COST),0) ACT_LABOR_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( ACT_EQUIPMENT_BRDN_COST),0) ACT_EQUIPMENT_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( ACT_BRDN_COST),0) ACT_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( ACT_RAW_COST),0) ACT_RAW_COST
, decode(rate_dangling_flag,null,SUM ( ACT_REVENUE),0) ACT_REVENUE
, decode(rate_dangling_flag,null,SUM ( ACT_LABOR_RAW_COST),0) ACT_LABOR_RAW_COST
, decode(rate_dangling_flag,null,SUM ( ACT_EQUIPMENT_RAW_COST),0) ACT_EQUIPMENT_RAW_COST
, decode(rate_dangling_flag,null,SUM ( ETC_LABOR_HRS),0) ETC_LABOR_HRS
, decode(rate_dangling_flag,null,SUM ( ETC_EQUIP_HOURS),0) ETC_EQUIP_HOURS
, decode(rate_dangling_flag,null,SUM ( ETC_LABOR_BRDN_COST),0) ETC_LABOR_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( ETC_EQUIP_BRDN_COST),0) ETC_EQUIP_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( ETC_BRDN_COST),0) ETC_BRDN_COST
, decode(rate_dangling_flag,null,SUM ( ETC_RAW_COST),0) ETC_RAW_COST
, decode(rate_dangling_flag,null,SUM ( ETC_LABOR_raw_COST),0) ETC_LABOR_raw_COST
, decode(rate_dangling_flag,null,SUM ( ETC_EQUIP_raw_COST),0) ETC_EQUIP_raw_COST
, decode(rate_dangling_flag,null,SUM(CUSTOM1),0) CUSTOM1
, decode(rate_dangling_flag,null,SUM(CUSTOM2),0) CUSTOM2
, decode(rate_dangling_flag,null,SUM(CUSTOM3),0) CUSTOM3
, decode(rate_dangling_flag,null,SUM(CUSTOM4),0) CUSTOM4
, decode(rate_dangling_flag,null,SUM(CUSTOM5),0) CUSTOM5
, decode(rate_dangling_flag,null,SUM(CUSTOM6),0) CUSTOM6
, decode(rate_dangling_flag,null,SUM(CUSTOM7),0) CUSTOM7
, decode(rate_dangling_flag,null,SUM(CUSTOM8),0) CUSTOM8
, decode(rate_dangling_flag,null,SUM(CUSTOM9),0) CUSTOM9
, decode(rate_dangling_flag,null,SUM(CUSTOM10),0) CUSTOM10
, decode(rate_dangling_flag,null,SUM(CUSTOM11),0) CUSTOM11
, decode(rate_dangling_flag,null,SUM(CUSTOM12),0) CUSTOM12
, decode(rate_dangling_flag,null,SUM(CUSTOM13),0) CUSTOM13
, decode(rate_dangling_flag,null,SUM(CUSTOM14),0) CUSTOM14
, decode(rate_dangling_flag,null,SUM(CUSTOM15),0) CUSTOM15
, LINE_TYPE
, rate_dangling_flag
, time_dangling_flag
, start_date
, end_date
, g_default_prg_level prg_level
, plan_type_code
FROM
( SELECT
g_worker_id WORKER_ID
, plr.PROJECT_ID
, plr.PROJECT_ORG_ID
, plr.project_ORGANIZATION_ID
, plr.WBS_ELEMENT_ID
, plr.time_id
, plr.period_type_id -- period type id...
, plr.CALENDAR_TYPE
, g_lowest_level RBS_AGGR_LEVEL
, 'N' WBS_ROLLUP_FLAG
, 'N' PRG_ROLLUP_FLAG
, plr.CURR_RECORD_TYPE
, plr.currency_code
, plr.RBS_ELEMENT_ID
, plr.RBS_STRUCT_VERSION_ID
, plr.plan_version_id
, plr.plan_type_id
, SUM(plr.RAW_COST) RAW_COST
, SUM(plr.BRDN_COST) BRDN_COST
, SUM(plr.REVENUE) REVENUE
, SUM ( DECODE ( plr.billable_flag, 'Y', plr.raw_cost, 0 ) ) BILL_RAW_COST
, SUM ( DECODE ( plr.billable_flag, 'Y', plr.BRDN_COST, 0 ) ) BILL_BRDN_COST
, SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'Y' || g_people_resclass_code, plr.raw_cost, 0 ) ) BILL_LABOR_RAW_COST
, SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'Y' || g_people_resclass_code , plr.BRDN_COST, 0 ) ) BILL_LABOR_BRDN_COST
/* , SUM ( DECODE ( plr.billable_flag || plr.resource_class , 'Y' || g_people_resclass_code, plr.quantity, 0 ) ) BILL_LABOR_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.billable_flag || plr.resource_class , 'Y' || g_people_resclass_code,
DECODE ( plr.billable_flag , 'Y' , plr.quantity, 0 ) , 0 ) ) BILL_LABOR_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, g_equip_resclass_code , plr.raw_cost, 0 ) ) EQUIPMENT_RAW_COST
, SUM ( DECODE ( plr.resource_class, g_equip_resclass_code , plr.BRDN_COST, 0 ) ) EQUIPMENT_BRDN_COST
, SUM ( DECODE ( plr.billable_flag, 'Y', plr.raw_cost, 0 ) ) CAPITALIZABLE_RAW_COST
, SUM ( DECODE ( plr.billable_flag, 'Y', plr.BRDN_COST, 0 ) ) CAPITALIZABLE_BRDN_COST
, SUM ( DECODE ( plr.resource_class, g_people_resclass_code, plr.raw_cost, 0 ) ) LABOR_RAW_COST
, SUM ( DECODE ( plr.resource_class, g_people_resclass_code, plr.BRDN_COST, 0 ) ) LABOR_BRDN_COST
/* , SUM ( DECODE ( plr.resource_class, g_people_resclass_code,
DECODE ( plr.wp_flag, 'N',
DECODE ( plr.billable_flag, 'Y',plr.quantity,0),
plr.quantity),
0 ) ) labor_hrs */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, g_people_resclass_code, DECODE( plr.billable_flag , 'Y',
DECODE ( plr.wp_flag, 'N',
DECODE ( plr.billable_flag, 'Y',plr.quantity,0),
plr.quantity),
0 ),
0 ) ) labor_hrs -- bug 6039785
, SUM ( DECODE ( plr.resource_class, g_people_resclass_code, plr.revenue, 0 ) ) LABOR_REVENUE
/* , SUM ( DECODE ( plr.resource_class, g_equip_resclass_code,
DECODE ( plr.wp_flag, 'N',
DECODE ( plr.billable_flag, 'Y',plr.quantity,0),
plr.quantity),
0 ) ) EQUIPMENT_HOURS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, g_equip_resclass_code, DECODE( plr.billable_flag , 'Y',
DECODE ( plr.wp_flag, 'N',
DECODE ( plr.billable_flag, 'Y',plr.quantity,0),
plr.quantity),
0 ),
0 ) ) EQUIPMENT_HOURS -- bug 6039785
/* , SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'Y' || g_equip_resclass_code, plr.quantity, 0 ) ) BILLABLE_EQUIPMENT_HOURS */ -- bug 6039785
, SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'Y' || g_equip_resclass_code,
DECODE ( plr.billable_flag , 'Y' , plr.quantity, 0 ) , 0 ) ) BILLABLE_EQUIPMENT_HOURS -- bug 6039785
, TO_NUMBER(NULL) SUP_INV_COMMITTED_COST
, TO_NUMBER(NULL) PO_COMMITTED_COST
, TO_NUMBER(NULL) PR_COMMITTED_COST
, TO_NUMBER(NULL) OTH_COMMITTED_COST
/* , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code,
DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,0),
0 ) ) ) ACT_LABOR_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code,
DECODE (plr.billable_flag ,'Y',
DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,0),
0 ),
0 ) ) ) ACT_LABOR_HRS -- bug 6039785
/* , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code,
DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,0),
0 ) ) ) ACT_EQUIP_HOURS */ -- bug 6039785
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code,
DECODE (plr.billable_flag ,'Y',
DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,0),
0 ),
0 ) ) ) ACT_EQUIP_HOURS -- bug 6039785
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code, plr.actual_BRDN_COST, 0 ) ) ) ACT_LABOR_BRDN_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code , plr.actual_BRDN_COST, 0 ) ) ) ACT_EQUIPMENT_BRDN_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.actual_brdn_cost ) ) ACT_BRDN_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.actual_raw_cost ) ) ACT_RAW_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.actual_revenue ) ) ACT_REVENUE
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code, plr.actual_RAW_COST, 0 ) ) ) ACT_LABOR_RAW_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code , plr.actual_RAW_COST, 0 ) ) ) ACT_EQUIPMENT_RAW_COST
/* , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code,
DECODE ( plr.billable_flag, 'Y',plr.ETC_quantity,0),
0 ) ) ) ETC_LABOR_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code,
DECODE (plr.billable_flag ,'Y',
DECODE ( plr.billable_flag, 'Y',plr.ETC_quantity,0),
0 ),
0 ) ) ) ETC_LABOR_HRS -- bug 6039785
/* , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code,
DECODE ( plr.billable_flag, 'Y',plr.ETC_quantity,0),
0 ) ) ) ETC_EQUIP_HOURS */ -- bug 6039785
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code,
DECODE (plr.billable_flag ,'Y',
DECODE ( plr.billable_flag, 'Y',plr.ETC_quantity,0),
0 ),
0 ) ) ) ETC_EQUIP_HOURS -- bug 6039785
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code, plr.etc_BRDN_COST, 0 ) ) ) ETC_LABOR_BRDN_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code , plr.etc_BRDN_COST, 0 ) ) ) ETC_EQUIP_BRDN_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.etc_brdn_cost ) ) ETC_BRDN_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.etc_raw_cost ) ) ETC_RAW_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code, plr.etc_raw_COST, 0 ) ) ) ETC_LABOR_raw_COST
, SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code , plr.etc_raw_COST, 0 ) ) ) ETC_EQUIP_raw_COST
, TO_NUMBER(NULL) CUSTOM1
, TO_NUMBER(NULL) CUSTOM2
, TO_NUMBER(NULL) CUSTOM3
, TO_NUMBER(NULL) CUSTOM4
, TO_NUMBER(NULL) CUSTOM5
, TO_NUMBER(NULL) CUSTOM6
, TO_NUMBER(NULL) CUSTOM7
, TO_NUMBER(NULL) CUSTOM8
, TO_NUMBER(NULL) CUSTOM9
, TO_NUMBER(NULL) CUSTOM10
, TO_NUMBER(NULL) CUSTOM11
, TO_NUMBER(NULL) CUSTOM12
, TO_NUMBER(NULL) CUSTOM13
, TO_NUMBER(NULL) CUSTOM14
, TO_NUMBER(NULL) CUSTOM15
, plr.LINE_TYPE
, decode(sign(plr.rate),-1,'Y',NULL) ||decode(sign(plr.rate2),-1,'Y',NULL) rate_dangling_flag
, NULL time_dangling_flag
, plr.start_date
, plr.end_date
, g_default_prg_level prg_level
,plr.plan_type_code plan_type_code /*4471527 */
FROM
( ----- First inline view plr .............
select
collapse_bl.PROJECT_ID
, collapse_bl.WBS_ELEMENT_ID
, SUM(collapse_bl.CURR_RECORD_TYPE_ID) CURR_RECORD_TYPE
, collapse_bl.RBS_ELEMENT_ID
, collapse_bl.RBS_STRUCT_VERSION_ID
, collapse_bl.plan_type_id
, collapse_bl.plan_version_id
, collapse_bl.time_id
, collapse_bl.PROJECT_ORGANIZATION_ID
, collapse_bl.PROJECT_ORG_ID
, collapse_bl.RESOURCE_ASSIGNMENT_ID
, collapse_bl.BILLABLE_FLAG
, collapse_bl.RESOURCE_CLASS
, collapse_bl.TIME_PHASED_TYPE_CODE
, collapse_bl.CURRENCY_CODE
, max(collapse_bl.raw_cost) raw_cost
, max(collapse_bl.BRDN_COST) BRDN_COST
, max(collapse_bl.revenue) revenue
, max(collapse_bl.actual_raw_cost) actual_raw_cost
, max(collapse_bl.actual_BRDN_COST) actual_BRDN_COST
, max(collapse_bl.actual_revenue) actual_revenue
, max(collapse_bl.etc_raw_cost) etc_raw_cost
, max(collapse_bl.etc_BRDN_COST) etc_BRDN_COST
, max(collapse_bl.etc_revenue) etc_revenue
, max(collapse_bl.quantity) quantity
, max(collapse_bl.actual_quantity) actual_quantity
, max(collapse_bl.etc_quantity) etc_quantity
, collapse_bl.start_date start_date
, collapse_bl.end_date end_date
, collapse_bl.line_type
, collapse_bl.calendar_type
, collapse_bl.period_type_id
, collapse_bl.row_id
,collapse_bl.rate rate
,collapse_bl.rate2 rate2
, collapse_bl.plan_type_code plan_type_code
, collapse_bl.WP_FLAG
from
( ----- Second inline view 'collapse_bl' begin .............
select
spread_bl.row_id row_id
, spread_bl.PROJECT_ID
, spread_bl.BUDGET_VERSION_ID plan_version_id
, spread_bl.time_id
, spread_bl.RESOURCE_ASSIGNMENT_ID
, spread_bl.WBS_ELEMENT_ID
, spread_bl.RBS_ELEMENT_ID
, spread_bl.WBS_STRUCT_VERSION_ID
, spread_bl.RBS_STRUCT_VERSION_ID
, spread_bl.plan_type_id
, spread_bl.BILLABLE_FLAG
, spread_bl.RESOURCE_CLASS
, spread_bl.PROJECT_ORGANIZATION_ID
, spread_bl.PROJECT_ORG_ID
, spread_bl.TIME_PHASED_TYPE_CODE
, DECODE( invert.INVERT_ID
, 1, spread_bl.glb1_CURRENCY_CODE
, 2, spread_bl.glb2_CURRENCY_CODE
, 4, spread_bl.func_CURRENCY_CODE
, 8, spread_bl.PRJ_CURRENCY_CODE
, 16, spread_bl.TXN_CURRENCY_CODE ) CURRENCY_CODE
, invert.INVERT_ID CURR_RECORD_TYPE_ID
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_raw_cost
, 2, spread_bl.glb2_raw_cost
, 4, spread_bl.func_raw_cost
, 8, spread_bl.PRJ_raw_cost
, 16, spread_bl.TXN_raw_cost) raw_cost
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_brdn_cost
, 2, spread_bl.glb2_brdn_cost
, 4, spread_bl.func_BRDN_COST
, 8, spread_bl.PRJ_BRDN_COST
, 16, spread_bl.TXN_BRDN_COST ) BRDN_COST
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_revenue
, 2, spread_bl.glb2_revenue
, 4, spread_bl.func_revenue
, 8, spread_bl.PRJ_revenue
, 16, spread_bl.TXN_revenue ) revenue
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_actual_raw_cost
, 2, spread_bl.glb2_actual_raw_cost
, 4, spread_bl.func_actual_raw_cost
, 8, spread_bl.prj_actual_raw_cost
, 16, spread_bl.txn_actual_raw_cost ) actual_raw_cost
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_actual_brdn_cost
, 2, spread_bl.glb2_actual_brdn_cost
, 4, spread_bl.func_actual_brdn_cost
, 8, spread_bl.prj_actual_brdn_cost
, 16, spread_bl.txn_actual_brdn_cost ) actual_brdn_cost
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_actual_revenue
, 2, spread_bl.glb2_actual_revenue
, 4, spread_bl.func_actual_revenue
, 8, spread_bl.prj_actual_revenue
, 16, spread_bl.txn_actual_revenue ) actual_revenue
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_etc_raw_cost
, 2, spread_bl.glb2_etc_raw_cost
, 4, spread_bl.func_etc_raw_cost
, 8, spread_bl.prj_etc_raw_cost
, 16, spread_bl.txn_etc_raw_cost ) etc_raw_cost
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_etc_brdn_cost
, 2, spread_bl.glb2_etc_brdn_cost
, 4, spread_bl.func_etc_brdn_cost
, 8, spread_bl.prj_etc_brdn_cost
, 16, spread_bl.txn_etc_brdn_cost ) etc_brdn_cost
, DECODE ( invert.INVERT_ID
, 1, spread_bl.glb1_etc_revenue
, 2, spread_bl.glb2_etc_revenue
, 4, spread_bl.func_etc_revenue
, 8, spread_bl.prj_etc_revenue
, 16, spread_bl.txn_etc_revenue ) etc_revenue
, spread_bl.quantity quantity
, spread_bl.actual_quantity actual_quantity
, spread_bl.etc_quantity etc_quantity
, spread_bl.start_date start_date
, spread_bl.end_date end_date
, spread_bl.line_type line_type
, spread_bl.period_type_id
, spread_bl.calendar_type
,decode(invert.invert_id,1,spread_bl.rate,1) rate
,decode(invert.invert_id,2,spread_bl.rate2,1) rate2
, spread_bl.plan_type_code plan_type_code
, spread_bl.WP_FLAG
from
(
SELECT /*+ leading(VER PPA PEVS RA BL PRD RATES) use_hash(RA) use_hash(BL) */ -- Modified hints for bug 13897252
ra.project_id
, bl.rowid row_id
, ra.budget_version_id
, prd.cal_period_id time_id
, bl.resource_asSIGNment_id
, DECODE(ra.task_id, 0, pevs.proj_element_id, ra.task_id) wbs_element_id
, NVL(ra.rbs_element_id, -1) rbs_element_id
, ver.wbs_struct_version_id wbs_struct_version_id
, NVL(ver.rbs_struct_version_id, -1) rbs_struct_version_id
, ver.plan_type_id plan_type_id
, ra.rate_based_flag billable_flag
, ra.resource_class_code resource_class
, DECODE(ver.time_phased_type_code
, g_pa_cal_str, 32
, g_gl_cal_str, 32
, 'N', 2048
, -1) period_type_id
, DECODE(ver.time_phased_type_code
, g_pa_cal_str, g_pa_cal_str
, g_gl_cal_str, g_gl_cal_str
, 'N', g_all
, 'X') CALENDAR_TYPE
, bl.txn_currency_code txn_currency_code
, bl.txn_raw_cost txn_raw_cost
, bl.txn_burdened_COST txn_brdn_COST
, bl.txn_revenue txn_revenue
, DECODE(ver.wp_flag, 'N', bl.txn_init_raw_cost, TO_NUMBER(NULL)) txn_actual_raw_cost -- new
, DECODE(ver.wp_flag, 'N', bl.txn_init_burdened_cost, TO_NUMBER(NULL)) txn_actual_brdn_cost -- new
, DECODE(ver.wp_flag, 'N', bl.txn_init_revenue, TO_NUMBER(NULL)) txn_actual_revenue -- new
, DECODE(ver.wp_flag, 'N', (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0)), TO_NUMBER(NULL)) txn_etc_raw_cost -- new
, DECODE(ver.wp_flag, 'N', (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0)), TO_NUMBER(NULL)) txn_etc_brdn_cost -- new
, DECODE(ver.wp_flag, 'N', (bl.txn_revenue - NVL(bl.txn_init_revenue, 0)), TO_NUMBER(NULL)) txn_etc_revenue -- new
, bl.project_currency_code prj_currency_code
, bl.project_raw_cost prj_raw_cost
, bl.project_burdened_COST prj_BRDN_COST
, bl.project_revenue prj_revenue
, DECODE(ver.wp_flag, 'N', bl.project_init_raw_cost, TO_NUMBER(NULL)) prj_actual_raw_cost -- new
, DECODE(ver.wp_flag, 'N', bl.project_init_burdened_cost, TO_NUMBER(NULL)) prj_actual_brdn_cost -- new
, DECODE(ver.wp_flag, 'N', bl.project_init_revenue, TO_NUMBER(NULL)) prj_actual_revenue -- new
, DECODE(ver.wp_flag, 'N', (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0)), TO_NUMBER(NULL)) prj_etc_raw_cost -- new
, DECODE(ver.wp_flag, 'N', (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0)), TO_NUMBER(NULL)) prj_etc_brdn_cost -- new
, DECODE(ver.wp_flag, 'N', (bl.project_revenue - NVL(bl.project_init_revenue, 0)), TO_NUMBER(NULL)) prj_etc_revenue -- new
, bl.projfunc_currency_code func_currency_code
, bl.raw_cost func_raw_cost
, bl.burdened_COST func_BRDN_COST
, bl.revenue func_revenue
, DECODE(ver.wp_flag, 'N', bl.init_raw_cost , TO_NUMBER(NULL)) func_actual_raw_cost -- new
, DECODE(ver.wp_flag, 'N', bl.init_burdened_cost , TO_NUMBER(NULL)) func_actual_brdn_cost -- new
, DECODE(ver.wp_flag, 'N', bl.init_revenue , TO_NUMBER(NULL)) func_actual_revenue -- new
, DECODE(ver.wp_flag, 'N', (bl.raw_cost - NVL(bl.init_raw_cost, 0)), TO_NUMBER(NULL)) func_etc_raw_cost -- new
, DECODE(ver.wp_flag, 'N', (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)), TO_NUMBER(NULL)) func_etc_brdn_cost -- new
, DECODE(ver.wp_flag, 'N', (bl.revenue - NVL(bl.init_revenue, 0)), TO_NUMBER(NULL)) func_etc_revenue -- new
, g_global1_currency_code glb1_currency_code
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_raw_cost
, bl.project_currency_code
, bl.project_raw_cost
, bl.projfunc_currency_code
, bl.raw_cost
, ROUND((rates.rate * raw_cost )/rates.mau)*rates.mau
) glb1_raw_cost
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_burdened_cost
, bl.project_currency_code
, bl.project_burdened_cost
, bl.projfunc_currency_code
, bl.burdened_cost
, ROUND((rates.rate * burdened_cost )/rates.mau)*rates.mau
) glb1_BRDN_COST
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_revenue
, bl.project_currency_code
, bl.project_revenue
, bl.projfunc_currency_code
, bl.revenue
, ROUND((rates.rate * revenue )/rates.mau)*rates.mau
) glb1_revenue
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_init_raw_cost
, bl.project_currency_code
, bl.project_init_raw_cost
, bl.projfunc_currency_code
, bl.init_raw_cost
, ROUND((rates.rate * bl.init_raw_cost )/rates.mau)*rates.mau
)
, NULL) glb1_actual_raw_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_init_burdened_cost
, bl.project_currency_code
, bl.project_init_burdened_cost
, bl.projfunc_currency_code
, bl.init_burdened_cost
, ROUND((rates.rate * bl.init_burdened_cost )/rates.mau)*rates.mau
)
, NULL) glb1_actual_brdn_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_init_revenue
, bl.project_currency_code
, bl.project_init_revenue
, bl.projfunc_currency_code
, bl.init_revenue
, ROUND((rates.rate * bl.init_revenue )/rates.mau)*rates.mau
)
, NULL) glb1_actual_revenue
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0))
, bl.project_currency_code
, (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0))
, bl.projfunc_currency_code
, (bl.raw_cost - NVL(bl.init_raw_cost, 0))
, ROUND((rates.rate * (bl.raw_cost - NVL(bl.init_raw_cost, 0)) )/rates.mau)*rates.mau
)
, NULL) glb1_etc_raw_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0))
, bl.project_currency_code
, (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0))
, bl.projfunc_currency_code
, (bl.burdened_cost - NVL(bl.init_burdened_cost, 0))
, ROUND((rates.rate * (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)) )/rates.mau)*rates.mau
)
, NULL) glb1_etc_brdn_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, (bl.txn_revenue - NVL(bl.txn_init_revenue, 0))
, bl.project_currency_code
, (bl.project_revenue - NVL(bl.project_init_revenue, 0))
, bl.projfunc_currency_code
, (bl.revenue - NVL(bl.init_revenue, 0))
, ROUND((rates.rate * (bl.revenue - NVL(bl.init_revenue, 0)) )/rates.mau)*rates.mau
)
, NULL) glb1_etc_revenue
, g_global2_currency_code glb2_currency_code -- g_global2_currency_code glb2_currency_code
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_raw_cost
, bl.project_currency_code
, bl.project_raw_cost
, bl.projfunc_currency_code
, bl.raw_cost
, ROUND((rates.rate2 * raw_cost )/rates.mau2)*rates.mau2
) glb2_raw_cost
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_burdened_cost
, bl.project_currency_code
, bl.project_burdened_cost
, bl.projfunc_currency_code
, bl.burdened_cost
, ROUND((rates.rate2 * burdened_cost )/rates.mau2)*rates.mau2
) glb2_BRDN_COST
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_revenue
, bl.project_currency_code
, bl.project_revenue
, bl.projfunc_currency_code
, bl.revenue
, ROUND((rates.rate2 * revenue )/rates.mau2)*rates.mau2
) glb2_revenue
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_init_raw_cost
, bl.project_currency_code
, bl.project_init_raw_cost
, bl.projfunc_currency_code
, bl.init_raw_cost
, ROUND((rates.rate2 * bl.init_raw_cost )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_actual_raw_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_init_burdened_cost
, bl.project_currency_code
, bl.project_init_burdened_cost
, bl.projfunc_currency_code
, bl.init_burdened_cost
, ROUND((rates.rate2 * bl.init_burdened_cost )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_actual_brdn_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_init_revenue
, bl.project_currency_code
, bl.project_init_revenue
, bl.projfunc_currency_code
, bl.init_revenue
, ROUND((rates.rate2 * bl.init_revenue )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_actual_revenue
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0))
, bl.project_currency_code
, (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0))
, bl.projfunc_currency_code
, (bl.raw_cost - NVL(bl.init_raw_cost, 0))
, ROUND((rates.rate2 * (bl.raw_cost - NVL(bl.init_raw_cost, 0)) )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_etc_raw_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0))
, bl.project_currency_code
, (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0))
, bl.projfunc_currency_code
, (bl.burdened_cost - NVL(bl.init_burdened_cost, 0))
, ROUND((rates.rate2 * (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)) )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_etc_brdn_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, (bl.txn_revenue - NVL(bl.txn_init_revenue, 0))
, bl.project_currency_code
, (bl.project_revenue - NVL(bl.project_init_revenue, 0))
, bl.projfunc_currency_code
, (bl.revenue - NVL(bl.init_revenue, 0))
, ROUND((rates.rate2 * (bl.revenue - NVL(bl.init_revenue, 0)) )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_etc_revenue
, bl.quantity quantity
, DECODE(ver.wp_flag, 'N', bl.init_quantity, TO_NUMBER(NULL)) actual_quantity -- new
, DECODE(ver.wp_flag, 'N', (bl.quantity - NVL(bl.init_quantity, 0)), TO_NUMBER(NULL)) etc_quantity -- new
, TO_DATE(NULL) start_date -- bl.start_date
, TO_DATE(NULL) end_date -- bl.END_date
, ver.time_phased_type_code time_phased_type_code
, ppa.org_id project_org_id
, ppa.carrying_out_organization_id project_organization_id
, DECODE(ver.time_phased_type_code, g_pa_cal_str, 'OF', g_gl_cal_str, 'OF', 'N', 'NTP', 'X') line_type
,decode(ver.rate_dangling_flag,'Y',-1,1) rate
,decode(ver.rate_dangling_flag,'Y',-1,1) rate2
, ver.plan_type_code plan_type_code /*4471527 */
, ver.WP_FLAG
FROM
PJI_FM_EXTR_PLNVER4 ver
, pa_resource_asSIGNments ra
, PA_BUDGET_LINES bl
, pa_projects_all ppa
, PJI_ORG_EXTR_INFO oei
, pji_time_cal_period_v prd
, PJI_FM_AGGR_DLY_RATES rates
, PA_PROJ_ELEM_VER_STRUCTURE pevs
WHERE 1=1
AND ra.resource_asSIGNment_id = bl.resource_asSIGNment_id
AND ra.project_id = ver.PROJECT_ID
AND ra.budget_version_id = ver.plan_version_id
AND ver.project_id = ppa.project_id
AND txn_currency_code IS NOT NULL
AND bl.project_currency_code IS NOT NULL
AND bl.projfunc_currency_code IS NOT NULL
AND pevs.element_version_id = ver.wbs_struct_version_id
AND ver.project_id = pevs.project_id
AND ver.secondary_rbs_flag = 'N'
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND oei.org_id = ppa.org_id
AND ver.time_phased_type_code IN (g_pa_cal_str, g_gl_cal_str)
AND DECODE ( ver.time_phased_type_code
, g_pa_cal_str, oei.pa_calendar_id
, g_gl_cal_str, oei.gl_calendar_id) = prd.calendar_id
AND bl.period_name = prd.name
AND rates.time_id = prd.cal_period_id
AND rates.worker_id = g_worker_id
AND rates.pf_currency_code = bl.projfunc_currency_code -- 4764334
AND ver.worker_id = g_worker_id
UNION ALL
SELECT /*+ leading(VER PPA PEVS RA BL RATES) use_hash(RA) use_hash(BL)*/ -- Modified hints for bug 13897252
ra.project_id
, bl.rowid row_id
, ra.budget_version_id
, -1 time_id
, bl.resource_asSIGNment_id
, DECODE(ra.task_id, 0, pevs.proj_element_id, ra.task_id) wbs_element_id
, NVL(ra.rbs_element_id, -1) rbs_element_id
, ver.wbs_struct_version_id wbs_struct_version_id
, NVL(ver.rbs_struct_version_id, -1) rbs_struct_version_id
, ver.plan_type_id plan_type_id
, ra.rate_based_flag billable_flag
, ra.resource_class_code resource_class
, 2048 period_type_id
, g_all CALENDAR_TYPE
, bl.txn_currency_code txn_currency_code
, bl.txn_raw_cost txn_raw_cost
, bl.txn_burdened_COST txn_brdn_COST
, bl.txn_revenue txn_revenue
, DECODE(ver.wp_flag, 'N' , bl.txn_init_raw_cost, TO_NUMBER(NULL)) txn_actual_raw_cost -- new
, DECODE(ver.wp_flag, 'N' , bl.txn_init_burdened_cost, TO_NUMBER(NULL)) txn_actual_brdn_cost -- new
, DECODE(ver.wp_flag, 'N' , bl.txn_init_revenue, TO_NUMBER(NULL)) txn_actual_revenue -- new
, DECODE(ver.wp_flag, 'N' , (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0)), TO_NUMBER(NULL)) txn_etc_raw_cost -- new
, DECODE(ver.wp_flag, 'N' , (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0)), TO_NUMBER(NULL)) txn_etc_brdn_cost -- new
, DECODE(ver.wp_flag, 'N' , (bl.txn_revenue - NVL(bl.txn_init_revenue, 0)), TO_NUMBER(NULL)) txn_etc_revenue -- new
, bl.project_currency_code prj_currency_code
, bl.project_raw_cost prj_raw_cost
, bl.project_burdened_COST prj_BRDN_COST
, bl.project_revenue prj_revenue
, DECODE(ver.wp_flag, 'N' , bl.project_init_raw_cost, TO_NUMBER(NULL)) prj_actual_raw_cost -- new
, DECODE(ver.wp_flag, 'N' , bl.project_init_burdened_cost, TO_NUMBER(NULL)) prj_actual_brdn_cost -- new
, DECODE(ver.wp_flag, 'N' , bl.project_init_revenue, TO_NUMBER(NULL)) prj_actual_revenue -- new
, DECODE(ver.wp_flag, 'N' , (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0)), TO_NUMBER(NULL)) prj_etc_raw_cost -- new
, DECODE(ver.wp_flag, 'N' , (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0)), TO_NUMBER(NULL)) prj_etc_brdn_cost -- new
, DECODE(ver.wp_flag, 'N' , (bl.project_revenue - NVL(bl.project_init_revenue, 0)), TO_NUMBER(NULL)) prj_etc_revenue -- new
, bl.projfunc_currency_code func_currency_code
, bl.raw_cost func_raw_cost
, bl.burdened_COST func_BRDN_COST
, bl.revenue func_revenue
, DECODE(ver.wp_flag, 'N' , bl.init_raw_cost , TO_NUMBER(NULL)) func_actual_raw_cost -- new
, DECODE(ver.wp_flag, 'N' , bl.init_burdened_cost , TO_NUMBER(NULL)) func_actual_brdn_cost -- new
, DECODE(ver.wp_flag, 'N' , bl.init_revenue , TO_NUMBER(NULL)) func_actual_revenue -- new
, DECODE(ver.wp_flag, 'N' , (bl.raw_cost - NVL(bl.init_raw_cost, 0)), TO_NUMBER(NULL)) func_etc_raw_cost -- new
, DECODE(ver.wp_flag, 'N' , (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)), TO_NUMBER(NULL)) func_etc_brdn_cost -- new
, DECODE(ver.wp_flag, 'N' , (bl.revenue - NVL(bl.init_revenue, 0)), TO_NUMBER(NULL)) func_etc_revenue -- new
, g_global1_currency_code glb1_currency_code
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_raw_cost
, bl.project_currency_code
, bl.project_raw_cost
, bl.projfunc_currency_code
, bl.raw_cost
, ROUND((rates.rate * raw_cost )/rates.mau)*rates.mau
) glb1_raw_cost
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_burdened_cost
, bl.project_currency_code
, bl.project_burdened_cost
, bl.projfunc_currency_code
, bl.burdened_cost
, ROUND((rates.rate * burdened_cost )/rates.mau)*rates.mau
) glb1_BRDN_COST
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_revenue
, bl.project_currency_code
, bl.project_revenue
, bl.projfunc_currency_code
, bl.revenue
, ROUND((rates.rate * revenue )/rates.mau)*rates.mau
) glb1_revenue
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_init_raw_cost
, bl.project_currency_code
, bl.project_init_raw_cost
, bl.projfunc_currency_code
, bl.init_raw_cost
, ROUND((rates.rate * bl.init_raw_cost )/rates.mau)*rates.mau
)
, NULL) glb1_actual_raw_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_init_burdened_cost
, bl.project_currency_code
, bl.project_init_burdened_cost
, bl.projfunc_currency_code
, bl.init_burdened_cost
, ROUND((rates.rate * bl.init_burdened_cost )/rates.mau)*rates.mau
)
, NULL) glb1_actual_brdn_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, bl.txn_init_revenue
, bl.project_currency_code
, bl.project_init_revenue
, bl.projfunc_currency_code
, bl.init_revenue
, ROUND((rates.rate * bl.init_revenue )/rates.mau)*rates.mau
)
, NULL) glb1_actual_revenue
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0))
, bl.project_currency_code
, (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0))
, bl.projfunc_currency_code
, (bl.raw_cost - NVL(bl.init_raw_cost, 0))
, ROUND((rates.rate * (bl.raw_cost - NVL(bl.init_raw_cost, 0)) )/rates.mau)*rates.mau
)
, NULL) glb1_etc_raw_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0))
, bl.project_currency_code
, (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0))
, bl.projfunc_currency_code
, (bl.burdened_cost - NVL(bl.init_burdened_cost, 0))
, ROUND((rates.rate * (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)) )/rates.mau)*rates.mau
)
, NULL) glb1_etc_brdn_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global1_currency_code
, bl.txn_currency_code
, (bl.txn_revenue - NVL(bl.txn_init_revenue, 0))
, bl.project_currency_code
, (bl.project_revenue - NVL(bl.project_init_revenue, 0))
, bl.projfunc_currency_code
, (bl.revenue - NVL(bl.init_revenue, 0))
, ROUND((rates.rate * (bl.revenue - NVL(bl.init_revenue, 0)) )/rates.mau)*rates.mau
)
, NULL) glb1_etc_revenue
, g_global2_currency_code glb2_currency_code -- g_global2_currency_code glb2_currency_code
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_raw_cost
, bl.project_currency_code
, bl.project_raw_cost
, bl.projfunc_currency_code
, bl.raw_cost
, ROUND((rates.rate2 * raw_cost )/rates.mau2)*rates.mau2
) glb2_raw_cost
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_burdened_cost
, bl.project_currency_code
, bl.project_burdened_cost
, bl.projfunc_currency_code
, bl.burdened_cost
, ROUND((rates.rate2 * burdened_cost )/rates.mau2)*rates.mau2
) glb2_BRDN_COST
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_revenue
, bl.project_currency_code
, bl.project_revenue
, bl.projfunc_currency_code
, bl.revenue
, ROUND((rates.rate2 * revenue )/rates.mau2)*rates.mau2
) glb2_revenue
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_init_raw_cost
, bl.project_currency_code
, bl.project_init_raw_cost
, bl.projfunc_currency_code
, bl.init_raw_cost
, ROUND((rates.rate2 * bl.init_raw_cost )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_actual_raw_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_init_burdened_cost
, bl.project_currency_code
, bl.project_init_burdened_cost
, bl.projfunc_currency_code
, bl.init_burdened_cost
, ROUND((rates.rate2 * bl.init_burdened_cost )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_actual_brdn_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, bl.txn_init_revenue
, bl.project_currency_code
, bl.project_init_revenue
, bl.projfunc_currency_code
, bl.init_revenue
, ROUND((rates.rate2 * bl.init_revenue )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_actual_revenue
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0))
, bl.project_currency_code
, (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0))
, bl.projfunc_currency_code
, (bl.raw_cost - NVL(bl.init_raw_cost, 0))
, ROUND((rates.rate2 * (bl.raw_cost - NVL(bl.init_raw_cost, 0)) )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_etc_raw_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0))
, bl.project_currency_code
, (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0))
, bl.projfunc_currency_code
, (bl.burdened_cost - NVL(bl.init_burdened_cost, 0))
, ROUND((rates.rate2 * (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)) )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_etc_brdn_cost
, DECODE(ver.wp_flag
, 'N'
, DECODE (g_global2_currency_code
, bl.txn_currency_code
, (bl.txn_revenue - NVL(bl.txn_init_revenue, 0))
, bl.project_currency_code
, (bl.project_revenue - NVL(bl.project_init_revenue, 0))
, bl.projfunc_currency_code
, (bl.revenue - NVL(bl.init_revenue, 0))
, ROUND((rates.rate2 * (bl.revenue - NVL(bl.init_revenue, 0)) )/rates.mau2)*rates.mau2
)
, TO_NUMBER(NULL)) glb2_etc_revenue
, bl.quantity quantity
, DECODE(ver.wp_flag, 'N' , bl.init_quantity, TO_NUMBER(NULL)) actual_quantity -- new
, DECODE(ver.wp_flag, 'N' , (bl.quantity - NVL(bl.init_quantity, 0)), TO_NUMBER(NULL)) etc_quantity -- new
, ra.planning_start_date
, ra.planning_END_date
, ver.time_phased_type_code time_phased_type_code
, ppa.org_id project_org_id
, ppa.carrying_out_organization_id project_organization_id
, 'NTP' line_type
,decode(ver.rate_dangling_flag,'Y',-1,1) rate
,decode(ver.rate_dangling_flag,'Y',-1,1) rate2
, ver.plan_type_code plan_type_code /*4471527 */
, ver.WP_FLAG
FROM
PJI_FM_EXTR_PLNVER4 ver
, pa_resource_asSIGNments ra
, PA_BUDGET_LINES bl
, pa_projects_all ppa
, PJI_FM_AGGR_DLY_RATES rates
, PA_PROJ_ELEM_VER_STRUCTURE pevs
WHERE 1=1
AND ra.resource_asSIGNment_id = bl.resource_asSIGNment_id
AND ra.project_id = ver.PROJECT_ID
AND ra.budget_version_id = ver.plan_version_id
AND ver.project_id = ppa.project_id
AND txn_currency_code IS NOT NULL
AND bl.project_currency_code IS NOT NULL
AND bl.projfunc_currency_code IS NOT NULL
AND pevs.element_version_id = ver.wbs_struct_version_id
AND ver.project_id = pevs.project_id
AND ver.secondary_rbs_flag = 'N'
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND ver.time_phased_type_code = 'N'
AND rates.time_id = DECODE ( g_currency_conversion_rule
, 'S'
, TO_NUMBER(to_CHAR(ra.planning_start_date, 'J'))
, 'E'
, TO_NUMBER(to_CHAR(ra.planning_end_date, 'J')) )
AND rates.worker_id = g_worker_id
AND rates.pf_currency_code = bl.projfunc_currency_code -- 4764334
AND ver.worker_id = g_worker_id
) spread_bl
,
(
select 1 INVERT_ID from dual union all
select 2 INVERT_ID from dual where PJI_UTILS.GET_SETUP_PARAMETER('GLOBAL_CURR2_FLAG') = 'Y' union all
select 4 INVERT_ID from dual union all
select 8 INVERT_ID from dual union all
select 16 INVERT_ID from dual where PJI_UTILS.GET_SETUP_PARAMETER('TXN_CURR_FLAG') = 'Y'
) invert
) collapse_bl
GROUP BY
collapse_bl.PROJECT_ID
, collapse_bl.time_id
, collapse_bl.WBS_ELEMENT_ID
, collapse_bl.RBS_ELEMENT_ID
, collapse_bl.RBS_STRUCT_VERSION_ID
, collapse_bl.plan_type_id
, collapse_bl.plan_version_id
, collapse_bl.PROJECT_ORGANIZATION_ID
, collapse_bl.PROJECT_ORG_ID
, collapse_bl.RESOURCE_ASSIGNMENT_ID
, collapse_bl.BILLABLE_FLAG
, collapse_bl.RESOURCE_CLASS
, collapse_bl.TIME_PHASED_TYPE_CODE
, collapse_bl.CURRENCY_CODE
, collapse_bl.start_date
, collapse_bl.end_date
, collapse_bl.row_id
, collapse_bl.line_type
, collapse_bl.calendar_type
, collapse_bl.period_type_id
,collapse_bl.rate
,collapse_bl.rate2
, collapse_bl.plan_type_code /*4471527 */
, collapse_bl.WP_FLAG
) plr
WHERE 1=1
AND plr.currency_code IS NOT NULL
GROUP BY
plr.PROJECT_ID
, plr.PROJECT_ORG_ID
, plr.project_ORGANIZATION_ID
, plr.WBS_ELEMENT_ID
, plr.time_id
, plr.period_type_id
, plr.CALENDAR_TYPE
, plr.CURR_RECORD_TYPE
, plr.currency_code
, plr.RBS_ELEMENT_ID
, plr.RBS_STRUCT_VERSION_ID
, plr.plan_version_id
, plr.plan_type_id
, plr.start_date
, plr.end_date
, plr.line_type
,decode(sign(plr.rate),-1,'Y',NULL) ||decode(sign(plr.rate2),-1,'Y',NULL)
,plr.plan_type_code
)
GROUP BY
WORKER_ID
,PROJECT_ID
,PROJECT_ORG_ID
,project_ORGANIZATION_ID
,WBS_ELEMENT_ID
,time_id
,period_type_id
,CALENDAR_TYPE
,RBS_AGGR_LEVEL
,WBS_ROLLUP_FLAG
,PRG_ROLLUP_FLAG
,CURR_RECORD_TYPE
,currency_code
,RBS_ELEMENT_ID
,RBS_STRUCT_VERSION_ID
,plan_version_id
,plan_type_id
,LINE_TYPE
,rate_dangling_flag
,time_dangling_flag
,start_date
,end_date
,prg_level
,plan_type_code ;
INSERT INTO PJI_FP_AGGR_PJP1
(
WORKER_ID
, 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
, 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
, LINE_TYPE
, RATE_DANGLING_FLAG
, TIME_DANGLING_FLAG
, START_DATE
, END_DATE
, PRG_LEVEL
, PLAN_TYPE_CODE
)
SELECT /*+ use_hash(fact) use_hash(fp) */ -- Modified hints for bug 13897252
g_worker_id WORKER_ID
,fact.PROJECT_ID
,fact.PROJECT_ORG_ID
,fact.PROJECT_ORGANIZATION_ID
,fact.PROJECT_ELEMENT_ID
,fact.TIME_ID
,fact.PERIOD_TYPE_ID
,fact.CALENDAR_TYPE
,fact.RBS_AGGR_LEVEL
,fact.WBS_ROLLUP_FLAG
,fact.PRG_ROLLUP_FLAG
,fact.CURR_RECORD_TYPE_ID
,fact.CURRENCY_CODE
,fact.RBS_ELEMENT_ID
,fact.RBS_VERSION_ID
,fact.PLAN_VERSION_ID
,fact.PLAN_TYPE_ID
,-fact.RAW_COST
,-fact.BRDN_COST
,-fact.REVENUE
,-fact.BILL_RAW_COST
,-fact.BILL_BRDN_COST
,-fact.BILL_LABOR_RAW_COST
,-fact.BILL_LABOR_BRDN_COST
,-fact.BILL_LABOR_HRS
,-fact.EQUIPMENT_RAW_COST
,-fact.EQUIPMENT_BRDN_COST
,-fact.CAPITALIZABLE_RAW_COST
,-fact.CAPITALIZABLE_BRDN_COST
,-fact.LABOR_RAW_COST
,-fact.LABOR_BRDN_COST
,-fact.LABOR_HRS
,-fact.LABOR_REVENUE
,-fact.EQUIPMENT_HOURS
,-fact.BILLABLE_EQUIPMENT_HOURS
,-fact.SUP_INV_COMMITTED_COST
,-fact.PO_COMMITTED_COST
,-fact.PR_COMMITTED_COST
,-fact.OTH_COMMITTED_COST
,-fact.ACT_LABOR_HRS
,-fact.ACT_EQUIP_HRS
,-fact.ACT_LABOR_BRDN_COST
,-fact.ACT_EQUIP_BRDN_COST
,-fact.ACT_BRDN_COST
,-fact.ACT_RAW_COST
,-fact.ACT_REVENUE
,-fact.ACT_LABOR_RAW_COST
,-fact.ACT_EQUIP_RAW_COST
,-fact.ETC_LABOR_HRS
,-fact.ETC_EQUIP_HRS
,-fact.ETC_LABOR_BRDN_COST
,-fact.ETC_EQUIP_BRDN_COST
,-fact.ETC_BRDN_COST
,-fact.ETC_RAW_COST
,-fact.ETC_LABOR_RAW_COST
,-fact.ETC_EQUIP_RAW_COST
,-fact.CUSTOM1
,-fact.CUSTOM2
,-fact.CUSTOM3
,-fact.CUSTOM4
,-fact.CUSTOM5
,-fact.CUSTOM6
,-fact.CUSTOM7
,-fact.CUSTOM8
,-fact.CUSTOM9
,-fact.CUSTOM10
,-fact.CUSTOM11
,-fact.CUSTOM12
,-fact.CUSTOM13
,-fact.CUSTOM14
,-fact.CUSTOM15
,DECODE(ver.time_phased_type_code,'N',
DECODE(fact.calendar_type,'A','NTP','CF'),
fact.calendar_type,'OF','CF') LINE_TYPE
,NULL RATE_DANGLING_FLAG
,NULL TIME_DANGLING_FLAG
,TO_DATE(NULL) START_DATE
,TO_DATE(NULL) END_DATE
,g_default_prg_level PRG_LEVEL
, fact.plan_type_code plan_type_code
FROM
pji_fp_xbs_accum_f fact,
pji_fm_extr_plnver4 ver,
pa_proj_fp_options fp
WHERE fact.plan_version_id=ver.plan_version_id
AND fact.project_id = fp.project_id
AND fact.plan_type_id = fp.fin_plan_type_id
AND fact.plan_version_id = fp.fin_plan_version_id
AND fact.plan_type_code = ver.plan_type_code
AND fact.project_id = ver.project_id
AND NVL(ver.rbs_struct_version_id,-1) = fact.rbs_version_id
AND ver.worker_id = g_worker_id
AND ver.wp_flag = 'N'
AND ver.baselined_flag = 'Y'
AND fact.rbs_aggr_level='L'
AND fact.wbs_rollup_flag='N'
AND fact.PRG_ROLLUP_FLAG ='N'
AND ((ver.time_phased_type_code = 'N'
AND fact.calendar_type = 'A')
OR ((fact.calendar_type = 'A'
AND ((Decode(fact.plan_type_code,'A',fp.all_fin_plan_level_code,
'C',fp.cost_fin_plan_level_code,
'R',fp.revenue_fin_plan_level_code) = 'L')
OR ((Decode(fact.plan_type_code,'A',fp.all_fin_plan_level_code,
'C',fp.cost_fin_plan_level_code,
'R',fp.revenue_fin_plan_level_code) IN ('T','P'))
AND Decode(fact.plan_type_code,'A',fp.all_time_phased_code,
'C',fp.cost_time_phased_code,
'R',fp.revenue_time_phased_code) = 'P'))))
OR (fact.calendar_type IN ('P','G','E')
AND period_type_id = 32));
PROCEDURE UPDATE_WBS_HDR_1 is
pragma autonomous_transaction;
SELECT /*+ parallel(pjp1) */
pjp1.project_id
, pjp1.plan_version_id
, NVL(pjp1.plan_type_id, -1) plan_type_id
, pjp1.PLAN_TYPE_CODE
, MIN(cal.start_date) min_txn_date
, MAX(cal.end_date) max_txn_date
FROM PJI_FP_AGGR_PJP1 pjp1
, pji_time_cal_period_v cal
WHERE
pjp1.worker_id = g_worker_id
AND pjp1.time_id = cal.cal_period_id
AND pjp1.calendar_type IN ('P', 'G')
GROUP BY
pjp1.project_id
, pjp1.plan_version_id
, NVL(pjp1.plan_type_id, -1)
, pjp1.PLAN_TYPE_CODE
/* Added for bug 13897252 starts */
UNION ALL
SELECT /*+ parallel(pjp2) */
pjp2.project_id
, pjp2.plan_version_id
, NVL(pjp2.plan_type_id, -1) plan_type_id
, pjp2.PLAN_TYPE_CODE
, MIN(cal.start_date) min_txn_date
, MAX(cal.end_date) max_txn_date
FROM PJI_FP_AGGR_PJP2 pjp2
, pji_time_cal_period_v cal
WHERE
pjp2.worker_id = g_worker_id
AND pjp2.time_id = cal.cal_period_id
AND pjp2.calendar_type IN ('P', 'G')
GROUP BY
pjp2.project_id
, pjp2.plan_version_id
, NVL(pjp2.plan_type_id, -1)
, pjp2.PLAN_TYPE_CODE ;
UPDATE /*+ index(whdr,PJI_PJP_WBS_HEADER_N1) */
PJI_PJP_WBS_HEADER whdr
SET MIN_TXN_DATE = LEAST(min_txn_date_tab(i), NVL(whdr.min_txn_date, min_txn_date_tab(i)))
, MAX_TXN_DATE = GREATEST(max_txn_date_tab(i), NVL(whdr.max_txn_date, max_txn_date_tab(i)))
, LAST_UPDATE_DATE = sysdate
, LAST_UPDATED_BY = -9999
, LAST_UPDATE_LOGIN = -9999
WHERE whdr.plan_version_id = plan_ver_id_tab(i)
AND whdr.project_id = proj_id_tab(i)
AND NVL(whdr.plan_type_id, -1) = plan_type_id_tab(i)
AND whdr.plan_type_code = plan_type_code_tab(i);
proj_id_tab.delete;
plan_ver_id_tab.delete;
plan_type_id_tab.delete;
plan_type_code_tab.delete;
min_txn_date_tab.delete;
max_txn_date_tab.delete;
END UPDATE_WBS_HDR_1;
l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_XBS_ACCUM_F'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME
AND status <> 'UNUSABLE') LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION P'||g_worker_id||' UNUSABLE';
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_AGGR_PJP2'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME
AND status <> 'UNUSABLE') LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION P'||g_worker_id||' UNUSABLE';
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_MERGE_HELPER'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME
AND status <> 'UNUSABLE') LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION P'||g_worker_id||' UNUSABLE';
INSERT /*+ append parallel(helper) */
INTO pji_merge_helper helper
(worker_id,
record_type,
prg_level,
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,
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,
custom1,
custom2,
custom3,
custom4,
custom5,
custom6,
custom7,
custom8,
custom9,
custom10,
custom11,
custom12,
custom13,
custom14,
custom15,
line_type,
rate_dangling_flag,
time_dangling_flag,
start_date,
end_date,
act_labor_hrs,
act_equip_hrs,
act_labor_brdn_cost,
act_equip_brdn_cost,
act_brdn_cost,
act_raw_cost,
act_revenue,
etc_labor_hrs,
etc_equip_hrs,
etc_labor_brdn_cost,
etc_equip_brdn_cost,
etc_brdn_cost,
etc_raw_cost,
act_labor_raw_cost,
act_equip_raw_cost,
etc_labor_raw_cost,
etc_equip_raw_cost,
plan_type_code,
pjp_row_id,
fact_row_id,
batch_id)
SELECT /*+ parallel(pjp1) parallel(fact) use_hash(fact) ordered */
pjp1.worker_id,
pjp1.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.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,
NVL(fact.raw_cost,0) + NVL(pjp1.raw_cost,0),
NVL(fact.brdn_cost,0) + NVL(pjp1.brdn_cost,0),
NVL(fact.revenue,0) + NVL(pjp1.revenue,0),
NVL(fact.bill_raw_cost,0) + NVL(pjp1.bill_raw_cost,0),
NVL(fact.bill_brdn_cost,0) + NVL(pjp1.bill_brdn_cost,0),
NVL(fact.bill_labor_raw_cost,0) + NVL(pjp1.bill_labor_raw_cost,0),
NVL(fact.bill_labor_brdn_cost,0) + NVL(pjp1.bill_labor_brdn_cost,0),
NVL(fact.bill_labor_hrs,0) + NVL(pjp1.bill_labor_hrs,0),
NVL(fact.equipment_raw_cost,0) + NVL(pjp1.equipment_raw_cost,0),
NVL(fact.equipment_brdn_cost,0) + NVL(pjp1.equipment_brdn_cost,0),
NVL(fact.capitalizable_raw_cost,0) + NVL(pjp1.capitalizable_raw_cost,0),
NVL(fact.capitalizable_brdn_cost,0) + NVL(pjp1.capitalizable_brdn_cost,0),
NVL(fact.labor_raw_cost,0) + NVL(pjp1.labor_raw_cost,0),
NVL(fact.labor_brdn_cost,0) + NVL(pjp1.labor_brdn_cost,0),
NVL(fact.labor_hrs,0) + NVL(pjp1.labor_hrs,0),
NVL(fact.labor_revenue,0) + NVL(pjp1.labor_revenue,0),
NVL(fact.equipment_hours,0) + NVL(pjp1.equipment_hours,0),
NVL(fact.billable_equipment_hours,0) + NVL(pjp1.billable_equipment_hours,0),
NVL(fact.sup_inv_committed_cost,0) + NVL(pjp1.sup_inv_committed_cost,0),
NVL(fact.po_committed_cost,0) + NVL(pjp1.po_committed_cost,0),
NVL(fact.pr_committed_cost,0) + NVL(pjp1.pr_committed_cost,0),
NVL(fact.oth_committed_cost,0) + NVL(pjp1.oth_committed_cost,0),
NVL(fact.custom1,0) + NVL(pjp1.custom1,0),
NVL(fact.custom2,0) + NVL(pjp1.custom2,0),
NVL(fact.custom3,0) + NVL(pjp1.custom3,0),
NVL(fact.custom4,0) + NVL(pjp1.custom4,0),
NVL(fact.custom5,0) + NVL(pjp1.custom5,0),
NVL(fact.custom6,0) + NVL(pjp1.custom6,0),
NVL(fact.custom7,0) + NVL(pjp1.custom7,0),
NVL(fact.custom8,0) + NVL(pjp1.custom8,0),
NVL(fact.custom9,0) + NVL(pjp1.custom9,0),
NVL(fact.custom10,0) + NVL(pjp1.custom10,0),
NVL(fact.custom11,0) + NVL(pjp1.custom11,0),
NVL(fact.custom12,0) + NVL(pjp1.custom12,0),
NVL(fact.custom13,0) + NVL(pjp1.custom13,0),
NVL(fact.custom14,0) + NVL(pjp1.custom14,0),
NVL(fact.custom15,0) + NVL(pjp1.custom15,0),
pjp1.line_type,
pjp1.rate_dangling_flag,
pjp1.time_dangling_flag,
pjp1.start_date,
pjp1.end_date,
NVL(fact.act_labor_hrs,0) + NVL(pjp1.act_labor_hrs,0),
NVL(fact.act_equip_hrs,0) + NVL(pjp1.act_equip_hrs,0),
NVL(fact.act_labor_brdn_cost,0) + NVL(pjp1.act_labor_brdn_cost,0),
NVL(fact.act_equip_brdn_cost,0) + NVL(pjp1.act_equip_brdn_cost,0),
NVL(fact.act_brdn_cost,0) + NVL(pjp1.act_brdn_cost,0),
NVL(fact.act_raw_cost,0) + NVL(pjp1.act_raw_cost,0),
NVL(fact.act_revenue,0) + NVL(pjp1.act_revenue,0),
NVL(fact.etc_labor_hrs,0) + NVL(pjp1.etc_labor_hrs,0),
NVL(fact.etc_equip_hrs,0) + NVL(pjp1.etc_equip_hrs,0),
NVL(fact.etc_labor_brdn_cost,0) + NVL(pjp1.etc_labor_brdn_cost,0),
NVL(fact.etc_equip_brdn_cost,0) + NVL(pjp1.etc_equip_brdn_cost,0),
NVL(fact.etc_brdn_cost,0) + NVL(pjp1.etc_brdn_cost,0),
NVL(fact.etc_raw_cost,0) + NVL(pjp1.etc_raw_cost,0),
NVL(fact.act_labor_raw_cost,0) + NVL(pjp1.act_labor_raw_cost,0),
NVL(fact.act_equip_raw_cost,0) + NVL(pjp1.act_equip_raw_cost,0),
NVL(fact.etc_labor_raw_cost,0) + NVL(pjp1.etc_labor_raw_cost,0),
NVL(fact.etc_equip_raw_cost,0) + NVL(pjp1.etc_equip_raw_cost,0),
pjp1.plan_type_code,
pjp1.pjp_row_id,
fact.rowid,
ceil(ROWNUM / l_batch_size) batch_id
FROM
( SELECT /*+ leading(VER3) parallel(VER3) parallel(TMP) use_hash(TMP) */ -- Added hints for bug 13897252
tmp.worker_id
, tmp.PROJECT_ID
, tmp.PROJECT_ORG_ID
, tmp.PROJECT_ORGANIZATION_ID
, tmp.PROJECT_ELEMENT_ID
, tmp.TIME_ID
, tmp.PERIOD_TYPE_ID
, tmp.CALENDAR_TYPE
, tmp.RBS_AGGR_LEVEL
, tmp.WBS_ROLLUP_FLAG
, tmp.PRG_ROLLUP_FLAG
, tmp.CURR_RECORD_TYPE_ID
, tmp.CURRENCY_CODE
, tmp.RBS_ELEMENT_ID
, tmp.RBS_VERSION_ID
, ver3.PLAN_VERSION_ID
, tmp.PLAN_TYPE_ID
, tmp.RAW_COST
, tmp.BRDN_COST
, tmp.REVENUE
, tmp.BILL_RAW_COST
, tmp.BILL_BRDN_COST
, tmp.BILL_LABOR_RAW_COST
, tmp.BILL_LABOR_BRDN_COST
, tmp.BILL_LABOR_HRS
, tmp.EQUIPMENT_RAW_COST
, tmp.EQUIPMENT_BRDN_COST
, tmp.CAPITALIZABLE_RAW_COST
, tmp.CAPITALIZABLE_BRDN_COST
, tmp.LABOR_RAW_COST
, tmp.LABOR_BRDN_COST
, tmp.LABOR_HRS
, tmp.LABOR_REVENUE
, tmp.EQUIPMENT_HOURS
, tmp.BILLABLE_EQUIPMENT_HOURS
, tmp.SUP_INV_COMMITTED_COST
, tmp.PO_COMMITTED_COST
, tmp.PR_COMMITTED_COST
, tmp.OTH_COMMITTED_COST
, tmp.ACT_LABOR_HRS
, tmp.ACT_EQUIP_HRS
, tmp.ACT_LABOR_BRDN_COST
, tmp.ACT_EQUIP_BRDN_COST
, tmp.ACT_BRDN_COST
, tmp.ACT_RAW_COST
, tmp.ACT_REVENUE
, tmp.ACT_LABOR_RAW_COST
, tmp.ACT_EQUIP_RAW_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_LABOR_HRS) -- For Workplan
, NULL
, NVL(tmp.labor_hrs, 0)
, NVL(tmp.ETC_LABOR_HRS, 0)
)
, NVL(tmp.ETC_LABOR_HRS, 0)
) ETC_LABOR_HRS
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_EQUIP_HRS)
, NULL
, NVL(tmp.EQUIPMENT_hours, 0)
, NVL(tmp.ETC_EQUIP_HRS, 0)
)
, NVL(tmp.ETC_EQUIP_HRS, 0)
) ETC_EQUIP_HRS
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_LABOR_BRDN_COST)
, NULL
, NVL(tmp.labor_BRDN_COST, 0)
, NVL(tmp.ETC_LABOR_BRDN_COST, 0)
)
, NVL(tmp.ETC_LABOR_BRDN_COST, 0)
) ETC_LABOR_BRDN_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_EQUIP_BRDN_COST)
, NULL
, NVL(tmp.EQUIPment_BRDN_COST, 0)
, NVL(tmp.ETC_equip_BRDN_COST, 0)
)
, NVL(tmp.ETC_EQUIP_BRDN_COST, 0)
) ETC_equip_BRDN_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_BRDN_COST)
, NULL
, NVL(tmp.BRDN_COST, 0)
, NVL(tmp.ETC_BRDN_COST, 0)
)
, NVL(tmp.ETC_BRDN_COST, 0)
) ETC_BRDN_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_raw_COST)
, NULL
, NVL(tmp.raw_COST, 0)
, NVL(tmp.ETC_raw_COST, 0)
)
, NVL(tmp.ETC_raw_COST, 0)
) ETC_raw_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_labor_raw_COST)
, NULL
, NVL(tmp.labor_raw_COST, 0)
, NVL(tmp.ETC_labor_raw_COST, 0)
)
, NVL(tmp.ETC_labor_raw_COST, 0)
) ETC_labor_raw_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_equip_raw_COST)
, NULL
, NVL(tmp.equipment_raw_COST, 0)
, NVL(tmp.ETC_equip_raw_COST, 0)
)
, NVL(tmp.ETC_equip_raw_COST, 0)
) ETC_equip_raw_COST
, tmp.CUSTOM1
, tmp.CUSTOM2
, tmp.CUSTOM3
, tmp.CUSTOM4
, tmp.CUSTOM5
, tmp.CUSTOM6
, tmp.CUSTOM7
, tmp.CUSTOM8
, tmp.CUSTOM9
, tmp.CUSTOM10
, tmp.CUSTOM11
, tmp.CUSTOM12
, tmp.CUSTOM13
, tmp.CUSTOM14
, tmp.CUSTOM15
, tmp.PLAN_TYPE_CODE
, tmp.line_type
, tmp.rate_dangling_flag
, tmp.time_dangling_flag
, tmp.start_date
, tmp.end_date
, tmp.prg_level
, tmp.record_type
, tmp.rowid pjp_row_id
FROM pji_fp_aggr_pjp2 tmp
, pji_pjp_wbs_header ver3 -- replaced ver3 with wbs header for project-to-program association event.
WHERE 1 = 1
AND tmp.worker_id = g_worker_id
AND tmp.project_id = ver3.project_id
AND ver3.plan_version_id = tmp.plan_version_id
AND NVL(tmp.plan_type_id,-1) = NVL(ver3.plan_type_id, -1) -- each plan type can have a different -3, -4 slice.
AND ver3.plan_type_code = tmp.plan_type_code
AND tmp.RATE_DANGLING_FLAG IS NULL
AND tmp.TIME_DANGLING_FLAG IS NULL ) pjp1
, pji_fp_xbs_accum_f fact
WHERE pjp1.project_id = fact.project_id(+)
AND pjp1.plan_version_id = fact.plan_version_id(+)
AND pjp1.project_element_id = fact.project_element_id(+)
AND pjp1.time_id = fact.time_id(+)
AND pjp1.rbs_version_id = fact.rbs_version_id(+)
AND pjp1.plan_type_id = fact.plan_type_id(+)
AND pjp1.plan_type_code = fact.plan_type_code(+)
AND pjp1.project_org_id = fact.project_org_id(+)
AND pjp1.project_organization_id = fact.project_organization_id(+)
AND pjp1.period_type_id = fact.period_type_id(+)
AND pjp1.calendar_type = fact.calendar_type(+)
AND pjp1.rbs_aggr_level = fact.rbs_aggr_level(+)
AND pjp1.wbs_rollup_flag = fact.wbs_rollup_flag(+)
AND pjp1.prg_rollup_flag = fact.prg_rollup_flag(+)
AND pjp1.curr_record_type_id = fact.curr_record_type_id(+)
AND pjp1.currency_code = fact.currency_code(+)
AND pjp1.rbs_element_id = fact.rbs_element_id(+);
DELETE /*+ rowid(fact) parallel(fact) */
FROM pji_fp_xbs_accum_f fact
WHERE EXISTS (SELECT /*+ parallel(pmh) use_hash(pmh)*/
NULL
FROM pji_merge_helper pmh
WHERE fact.rowid = pmh.fact_row_id
AND pmh.worker_id = g_worker_id);
/* Insert from merge helper to fact*/
INSERT_INTO_FP_FACT1;
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_XBS_ACCUM_F'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_AGGR_PJP2'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_MERGE_HELPER'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
SELECT /*+parallel(pjp1) */
TRUNC(ROWNUM/l_batch_size)
, MIN(rowid)
, MAX(rowid)
BULK COLLECT
INTO l_pji_rowid_tab
FROM (SELECT /*+parallel(pji_fp_aggr_pjp2) rowid(pji_fp_aggr_pjp2) */ rowid
FROM pji_fp_aggr_pjp2
WHERE worker_id = g_worker_id
ORDER BY ROWID) pjp1
GROUP BY TRUNC(ROWNUM/l_batch_size)
ORDER BY 2;
USING ( SELECT
tmp.worker_id
, tmp.PROJECT_ID
, tmp.PROJECT_ORG_ID
, tmp.PROJECT_ORGANIZATION_ID
, tmp.PROJECT_ELEMENT_ID
, tmp.TIME_ID
, tmp.PERIOD_TYPE_ID
, tmp.CALENDAR_TYPE
, tmp.RBS_AGGR_LEVEL
, tmp.WBS_ROLLUP_FLAG
, tmp.PRG_ROLLUP_FLAG
, tmp.CURR_RECORD_TYPE_ID
, tmp.CURRENCY_CODE
, tmp.RBS_ELEMENT_ID
, tmp.RBS_VERSION_ID
, ver3.PLAN_VERSION_ID
, tmp.PLAN_TYPE_ID
, tmp.RAW_COST
, tmp.BRDN_COST
, tmp.REVENUE
, tmp.BILL_RAW_COST
, tmp.BILL_BRDN_COST
, tmp.BILL_LABOR_RAW_COST
, tmp.BILL_LABOR_BRDN_COST
, tmp.BILL_LABOR_HRS
, tmp.EQUIPMENT_RAW_COST
, tmp.EQUIPMENT_BRDN_COST
, tmp.CAPITALIZABLE_RAW_COST
, tmp.CAPITALIZABLE_BRDN_COST
, tmp.LABOR_RAW_COST
, tmp.LABOR_BRDN_COST
, tmp.LABOR_HRS
, tmp.LABOR_REVENUE
, tmp.EQUIPMENT_HOURS
, tmp.BILLABLE_EQUIPMENT_HOURS
, tmp.SUP_INV_COMMITTED_COST
, tmp.PO_COMMITTED_COST
, tmp.PR_COMMITTED_COST
, tmp.OTH_COMMITTED_COST
, tmp.ACT_LABOR_HRS
, tmp.ACT_EQUIP_HRS
, tmp.ACT_LABOR_BRDN_COST
, tmp.ACT_EQUIP_BRDN_COST
, tmp.ACT_BRDN_COST
, tmp.ACT_RAW_COST
, tmp.ACT_REVENUE
, tmp.ACT_LABOR_RAW_COST
, tmp.ACT_EQUIP_RAW_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_LABOR_HRS) -- For Workplan
, NULL
, NVL(tmp.labor_hrs, 0)
, NVL(tmp.ETC_LABOR_HRS, 0)
)
, NVL(tmp.ETC_LABOR_HRS, 0)
) ETC_LABOR_HRS
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_EQUIP_HRS)
, NULL
, NVL(tmp.EQUIPMENT_hours, 0)
, NVL(tmp.ETC_EQUIP_HRS, 0)
)
, NVL(tmp.ETC_EQUIP_HRS, 0)
) ETC_EQUIP_HRS
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_LABOR_BRDN_COST)
, NULL
, NVL(tmp.labor_BRDN_COST, 0)
, NVL(tmp.ETC_LABOR_BRDN_COST, 0)
)
, NVL(tmp.ETC_LABOR_BRDN_COST, 0)
) ETC_LABOR_BRDN_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_EQUIP_BRDN_COST)
, NULL
, NVL(tmp.EQUIPment_BRDN_COST, 0)
, NVL(tmp.ETC_equip_BRDN_COST, 0)
)
, NVL(tmp.ETC_EQUIP_BRDN_COST, 0)
) ETC_equip_BRDN_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_BRDN_COST)
, NULL
, NVL(tmp.BRDN_COST, 0)
, NVL(tmp.ETC_BRDN_COST, 0)
)
, NVL(tmp.ETC_BRDN_COST, 0)
) ETC_BRDN_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_raw_COST)
, NULL
, NVL(tmp.raw_COST, 0)
, NVL(tmp.ETC_raw_COST, 0)
)
, NVL(tmp.ETC_raw_COST, 0)
) ETC_raw_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_labor_raw_COST)
, NULL
, NVL(tmp.labor_raw_COST, 0)
, NVL(tmp.ETC_labor_raw_COST, 0)
)
, NVL(tmp.ETC_labor_raw_COST, 0)
) ETC_labor_raw_COST
, DECODE ( ver3.wp_flag
, 'Y'
, DECODE(TO_CHAR(tmp.ETC_equip_raw_COST)
, NULL
, NVL(tmp.equipment_raw_COST, 0)
, NVL(tmp.ETC_equip_raw_COST, 0)
)
, NVL(tmp.ETC_equip_raw_COST, 0)
) ETC_equip_raw_COST
, tmp.CUSTOM1
, tmp.CUSTOM2
, tmp.CUSTOM3
, tmp.CUSTOM4
, tmp.CUSTOM5
, tmp.CUSTOM6
, tmp.CUSTOM7
, tmp.CUSTOM8
, tmp.CUSTOM9
, tmp.CUSTOM10
, tmp.CUSTOM11
, tmp.CUSTOM12
, tmp.CUSTOM13
, tmp.CUSTOM14
, tmp.CUSTOM15
, tmp.PLAN_TYPE_CODE
FROM pji_fp_aggr_pjp2 tmp
, pji_pjp_wbs_header ver3 -- replaced ver3 with wbs header for project-to-program association event.
WHERE 1 = 1
AND tmp.worker_id = g_worker_id
AND tmp.project_id = ver3.project_id
AND ver3.plan_version_id = tmp.plan_version_id
AND NVL(tmp.plan_type_id,-1) = NVL(ver3.plan_type_id, -1) -- each plan type can have a different -3, -4 slice.
AND ver3.plan_type_code = tmp.plan_type_code
AND tmp.rowid BETWEEN l_pji_rowid_tab(i).start_rowid AND l_pji_rowid_tab(i).end_rowid
AND tmp.RATE_DANGLING_FLAG IS NULL
AND tmp.TIME_DANGLING_FLAG IS NULL
) pjp1
ON (pjp1.WORKER_ID = g_worker_id
AND pjp1.PROJECT_ID = fact.PROJECT_ID
AND pjp1.PLAN_VERSION_ID = fact.PLAN_VERSION_ID
AND pjp1.PLAN_TYPE_ID = fact.PLAN_TYPE_ID
AND pjp1.PLAN_TYPE_CODE = fact.PLAN_TYPE_CODE
AND pjp1.PROJECT_ORG_ID = fact.PROJECT_ORG_ID
AND pjp1.PROJECT_ORGANIZATION_ID = fact.PROJECT_ORGANIZATION_ID
AND pjp1.PROJECT_ELEMENT_ID = fact.PROJECT_ELEMENT_ID
AND pjp1.TIME_ID = fact.TIME_ID
AND pjp1.PERIOD_TYPE_ID = fact.PERIOD_TYPE_ID
AND pjp1.CALENDAR_TYPE = fact.CALENDAR_TYPE
AND pjp1.RBS_AGGR_LEVEL = fact.RBS_AGGR_LEVEL
AND pjp1.WBS_ROLLUP_FLAG = fact.WBS_ROLLUP_FLAG
AND pjp1.PRG_ROLLUP_FLAG = fact.PRG_ROLLUP_FLAG
AND pjp1.CURR_RECORD_TYPE_ID = fact.CURR_RECORD_TYPE_ID
AND pjp1.CURRENCY_CODE = fact.CURRENCY_CODE
AND pjp1.RBS_ELEMENT_ID = fact.RBS_ELEMENT_ID
AND pjp1.RBS_VERSION_ID = fact.RBS_VERSION_ID)
WHEN MATCHED THEN
UPDATE
SET fact.RAW_COST = NVL(fact.RAW_COST, 0) + NVL(pjp1.RAW_COST, 0)
, fact.BRDN_COST = NVL(fact.BRDN_COST, 0) + NVL(pjp1.BRDN_COST, 0)
, fact.REVENUE = NVL(fact.REVENUE, 0) + NVL(pjp1.REVENUE, 0)
, fact.BILL_RAW_COST = NVL(fact.BILL_RAW_COST, 0) + NVL(pjp1.BILL_RAW_COST, 0)
, fact.BILL_BRDN_COST = NVL(fact.BILL_BRDN_COST, 0) + NVL(pjp1.BILL_BRDN_COST, 0)
, fact.BILL_LABOR_RAW_COST = NVL(fact.BILL_LABOR_RAW_COST, 0) + NVL(pjp1.BILL_LABOR_RAW_COST, 0)
, fact.BILL_LABOR_BRDN_COST = NVL(fact.BILL_LABOR_BRDN_COST, 0) + NVL(pjp1.BILL_LABOR_BRDN_COST, 0)
, fact.BILL_LABOR_HRS = NVL(fact.BILL_LABOR_HRS, 0) + NVL(pjp1.BILL_LABOR_HRS, 0)
, fact.EQUIPMENT_RAW_COST = NVL(fact.EQUIPMENT_RAW_COST, 0) + NVL(pjp1.EQUIPMENT_RAW_COST, 0)
, fact.EQUIPMENT_BRDN_COST = NVL(fact.EQUIPMENT_BRDN_COST, 0) + NVL(pjp1.EQUIPMENT_BRDN_COST, 0)
, fact.CAPITALIZABLE_RAW_COST = NVL(fact.CAPITALIZABLE_RAW_COST, 0) + NVL(pjp1.CAPITALIZABLE_RAW_COST, 0)
, fact.CAPITALIZABLE_BRDN_COST = NVL(fact.CAPITALIZABLE_BRDN_COST, 0) + NVL(pjp1.CAPITALIZABLE_BRDN_COST, 0)
, fact.LABOR_RAW_COST = NVL(fact.LABOR_RAW_COST, 0) + NVL(pjp1.LABOR_RAW_COST, 0)
, fact.LABOR_BRDN_COST = NVL(fact.LABOR_BRDN_COST, 0) + NVL(pjp1.LABOR_BRDN_COST, 0)
, fact.LABOR_HRS = NVL(fact.LABOR_HRS, 0) + NVL(pjp1.LABOR_HRS, 0)
, fact.LABOR_REVENUE = NVL(fact.LABOR_REVENUE, 0) + NVL(pjp1.LABOR_REVENUE, 0)
, fact.EQUIPMENT_HOURS = NVL(fact.EQUIPMENT_HOURS, 0) + NVL(pjp1.EQUIPMENT_HOURS, 0)
, fact.BILLABLE_EQUIPMENT_HOURS = NVL(fact.BILLABLE_EQUIPMENT_HOURS, 0) + NVL(pjp1.BILLABLE_EQUIPMENT_HOURS, 0)
, fact.SUP_INV_COMMITTED_COST = NVL(fact.SUP_INV_COMMITTED_COST, 0) + NVL(pjp1.SUP_INV_COMMITTED_COST, 0)
, fact.PO_COMMITTED_COST = NVL(fact.PO_COMMITTED_COST, 0) + NVL(pjp1.PO_COMMITTED_COST, 0)
, fact.PR_COMMITTED_COST = NVL(fact.PR_COMMITTED_COST, 0) + NVL(pjp1.PR_COMMITTED_COST, 0)
, fact.OTH_COMMITTED_COST = NVL(fact.OTH_COMMITTED_COST, 0) + NVL(pjp1.OTH_COMMITTED_COST, 0)
, fact.ACT_LABOR_HRS = NVL(fact.ACT_LABOR_HRS, 0) + NVL(pjp1.ACT_LABOR_HRS, 0)
, fact.ACT_EQUIP_HRS = NVL(fact.ACT_EQUIP_HRS, 0) + NVL(pjp1.ACT_EQUIP_HRS, 0)
, fact.ACT_LABOR_BRDN_COST = NVL(fact.ACT_LABOR_BRDN_COST, 0) + NVL(pjp1.ACT_LABOR_BRDN_COST, 0)
, fact.ACT_EQUIP_BRDN_COST = NVL(fact.ACT_EQUIP_BRDN_COST, 0) + NVL(pjp1.ACT_EQUIP_BRDN_COST, 0)
, fact.ACT_BRDN_COST = NVL(fact.ACT_BRDN_COST, 0) + NVL(pjp1.ACT_BRDN_COST, 0)
, fact.ACT_RAW_COST = NVL(fact.ACT_RAW_COST, 0) + NVL(pjp1.ACT_RAW_COST, 0)
, fact.ACT_REVENUE = NVL(fact.ACT_REVENUE, 0) + NVL(pjp1.ACT_REVENUE, 0)
, fact.ACT_LABOR_RAW_COST = NVL(fact.ACT_LABOR_RAW_COST, 0) + NVL(pjp1.ACT_LABOR_RAW_COST, 0)
, fact.ACT_EQUIP_RAW_COST = NVL(fact.ACT_EQUIP_RAW_COST, 0) + NVL(pjp1.ACT_EQUIP_RAW_COST, 0)
, fact.ETC_LABOR_HRS = NVL(fact.ETC_LABOR_HRS, 0) + NVL(pjp1.ETC_LABOR_HRS, 0)
, fact.ETC_EQUIP_HRS = NVL(fact.ETC_EQUIP_HRS, 0) + NVL(pjp1.ETC_EQUIP_HRS, 0)
, fact.ETC_LABOR_BRDN_COST = NVL(fact.ETC_LABOR_BRDN_COST, 0) + NVL(pjp1.ETC_LABOR_BRDN_COST, 0)
, fact.ETC_EQUIP_BRDN_COST = NVL(fact.ETC_EQUIP_BRDN_COST, 0) + NVL(pjp1.ETC_EQUIP_BRDN_COST, 0)
, fact.ETC_BRDN_COST = NVL(fact.ETC_BRDN_COST, 0) + NVL(pjp1.ETC_BRDN_COST, 0)
, fact.ETC_RAW_COST = NVL(fact.ETC_RAW_COST, 0) + NVL(pjp1.ETC_RAW_COST, 0)
, fact.ETC_LABOR_RAW_COST = NVL(fact.ETC_LABOR_RAW_COST, 0) + NVL(pjp1.ETC_LABOR_RAW_COST, 0)
, fact.ETC_EQUIP_RAW_COST = NVL(fact.ETC_EQUIP_RAW_COST, 0) + NVL(pjp1.ETC_EQUIP_RAW_COST, 0)
, fact.CUSTOM1 = NVL(fact.CUSTOM1, 0) + NVL(pjp1.CUSTOM1, 0)
, fact.CUSTOM2 = NVL(fact.CUSTOM2, 0) + NVL(pjp1.CUSTOM2, 0)
, fact.CUSTOM3 = NVL(fact.CUSTOM3, 0) + NVL(pjp1.CUSTOM3, 0)
, fact.CUSTOM4 = NVL(fact.CUSTOM4, 0) + NVL(pjp1.CUSTOM4, 0)
, fact.CUSTOM5 = NVL(fact.CUSTOM5, 0) + NVL(pjp1.CUSTOM5, 0)
, fact.CUSTOM6 = NVL(fact.CUSTOM6, 0) + NVL(pjp1.CUSTOM6, 0)
, fact.CUSTOM7 = NVL(fact.CUSTOM7, 0) + NVL(pjp1.CUSTOM7, 0)
, fact.CUSTOM8 = NVL(fact.CUSTOM8, 0) + NVL(pjp1.CUSTOM8, 0)
, fact.CUSTOM9 = NVL(fact.CUSTOM9, 0) + NVL(pjp1.CUSTOM9, 0)
, fact.CUSTOM10 = NVL(fact.CUSTOM10, 0) + NVL(pjp1.CUSTOM10, 0)
, fact.CUSTOM11 = NVL(fact.CUSTOM11, 0) + NVL(pjp1.CUSTOM11, 0)
, fact.CUSTOM12 = NVL(fact.CUSTOM12, 0) + NVL(pjp1.CUSTOM12, 0)
, fact.CUSTOM13 = NVL(fact.CUSTOM13, 0) + NVL(pjp1.CUSTOM13, 0)
, fact.CUSTOM14 = NVL(fact.CUSTOM14, 0) + NVL(pjp1.CUSTOM14, 0)
, fact.CUSTOM15 = NVL(fact.CUSTOM15, 0) + NVL(pjp1.CUSTOM15, 0)
, fact.last_update_date = SYSDATE
, fact.last_updated_by = l_last_updated_by
, fact.last_update_login = l_last_update_login
WHEN NOT MATCHED THEN
INSERT (
fact.PROJECT_ID
, fact.PROJECT_ORG_ID
, fact.PROJECT_ORGANIZATION_ID
, fact.PROJECT_ELEMENT_ID
, fact.TIME_ID
, fact.PERIOD_TYPE_ID
, fact.CALENDAR_TYPE
, fact.RBS_AGGR_LEVEL
, fact.WBS_ROLLUP_FLAG
, fact.PRG_ROLLUP_FLAG
, fact.CURR_RECORD_TYPE_ID
, fact.CURRENCY_CODE
, fact.RBS_ELEMENT_ID
, fact.RBS_VERSION_ID
, fact.PLAN_VERSION_ID
, fact.PLAN_TYPE_ID
, fact.LAST_UPDATE_DATE
, fact.LAST_UPDATED_BY
, fact.CREATION_DATE
, fact.CREATED_BY
, fact.LAST_UPDATE_LOGIN
, fact.RAW_COST
, fact.BRDN_COST
, fact.REVENUE
, fact.BILL_RAW_COST
, fact.BILL_BRDN_COST
, fact.BILL_LABOR_RAW_COST
, fact.BILL_LABOR_BRDN_COST
, fact.BILL_LABOR_HRS
, fact.EQUIPMENT_RAW_COST
, fact.EQUIPMENT_BRDN_COST
, fact.CAPITALIZABLE_RAW_COST
, fact.CAPITALIZABLE_BRDN_COST
, fact.LABOR_RAW_COST
, fact.LABOR_BRDN_COST
, fact.LABOR_HRS
, fact.LABOR_REVENUE
, fact.EQUIPMENT_HOURS
, fact.BILLABLE_EQUIPMENT_HOURS
, fact.SUP_INV_COMMITTED_COST
, fact.PO_COMMITTED_COST
, fact.PR_COMMITTED_COST
, fact.OTH_COMMITTED_COST
, fact.ACT_LABOR_HRS
, fact.ACT_EQUIP_HRS
, fact.ACT_LABOR_BRDN_COST
, fact.ACT_EQUIP_BRDN_COST
, fact.ACT_BRDN_COST
, fact.ACT_RAW_COST
, fact.ACT_REVENUE
, fact.ACT_LABOR_RAW_COST
, fact.ACT_EQUIP_RAW_COST
, fact.ETC_LABOR_HRS
, fact.ETC_EQUIP_HRS
, fact.ETC_LABOR_BRDN_COST
, fact.ETC_EQUIP_BRDN_COST
, fact.ETC_BRDN_COST
, fact.ETC_RAW_COST
, fact.ETC_LABOR_RAW_COST
, fact.ETC_EQUIP_RAW_COST
, fact.CUSTOM1
, fact.CUSTOM2
, fact.CUSTOM3
, fact.CUSTOM4
, fact.CUSTOM5
, fact.CUSTOM6
, fact.CUSTOM7
, fact.CUSTOM8
, fact.CUSTOM9
, fact.CUSTOM10
, fact.CUSTOM11
, fact.CUSTOM12
, fact.CUSTOM13
, fact.CUSTOM14
, fact.CUSTOM15
, fact.PLAN_TYPE_CODE
)
VALUES (
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
, sysdate
, l_last_updated_by
, sysdate
, l_created_by
, l_last_update_login
, 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
, pjp1.PLAN_TYPE_CODE
);
DELETE /*+ parallel(pjp1) */
FROM pji_fp_aggr_pjp2 pjp1
WHERE pjp1.worker_id = g_worker_id
AND pjp1.rowid BETWEEN l_pji_rowid_tab(i).start_rowid
AND l_pji_rowid_tab(i).end_rowid;
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_XBS_ACCUM_F'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_AGGR_PJP2'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_MERGE_HELPER'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
PROCEDURE UPDATE_BATCH_CONC_STATUS IS
l_rowcount number := 0;
SELECT * FROM pji_merge_batch_status
WHERE request_status = 'RUNNING';
l_Batch_t.delete;
update pji_merge_batch_status
set request_status = l_Batch_t(i).request_status
where request_id = l_Batch_t(i).request_id;
end UPDATE_BATCH_CONC_STATUS;
SELECT /*+ parallel(prv) */ prv.RBS_VERSION_ID
FROM pa_rbs_versions_b prv
WHERE 1=1
AND prv.CURRENT_REPORTING_FLAG = 'Y'
AND prv.STATUS_CODE = 'FROZEN';
SELECT /*+ parallel(bv) */ bv.budget_version_id, bv.project_id
FROM pa_budget_versions bv
, pa_proj_fp_options fpo
WHERE 1=1
AND bv.budget_version_id = fpo.fin_plan_version_id
AND bv.fin_plan_type_id = fpo.fin_plan_type_id
AND fpo.project_id = bv.project_id
AND bv.version_type is not NULL
AND bv.fin_plan_type_id is not NULL
AND fpo.fin_plan_option_level_code = 'PLAN_VERSION'
AND bv.version_type IN ( 'ALL' , 'COST' , 'REVENUE')
AND fpo.RBS_VERSION_ID = l_rbs_version_id;
UPDATE pa_resource_assignments
SET txn_accum_header_id = NULL;
UPDATE pa_resource_assignments
SET TXN_ACCUM_HEADER_ID = l_txn_accum_header_id_tbl(i),
RBS_ELEMENT_ID = l_rbs_element_id_tbl(i)
WHERE
RESOURCE_ASSIGNMENT_ID = l_txn_source_id_tbl(i);
SELECT fin_plan_type_id into l_workplan_type_id
FROM pa_fin_plan_types_b
WHERE use_for_workplan_flag = 'Y';
INSERT INTO pji_fm_extr_plnver3_t
(worker_id,project_id,plan_version_id,time_phased_type_code)
select
map.worker_id,bv.project_id,bv.budget_version_id,
nvl(fpo.all_time_phased_code,nvl(fpo.cost_time_phased_code,fpo.revenue_time_phased_code)) time_phased_code
from
PJI_PJP_PROJ_BATCH_MAP map,
PA_PROJ_FP_OPTIONS fpo,
PA_BUDGET_VERSIONS bv
where
map.WORKER_ID = p_worker_id and
fpo.FIN_PLAN_TYPE_ID = nvl(l_plan_type_id,fpo.FIN_PLAN_TYPE_ID) and
fpo.PROJECT_ID = map.PROJECT_ID and
bv.PROJECT_ID = map.PROJECT_ID and
bv.BUDGET_VERSION_ID = fpo.FIN_PLAN_VERSION_ID and
(
'Y' IN -- Bug#5099574 Pull Reversals for CB / CO if refresh_code < 62 . Else pull for all plans ids >0 if refresh_code>=62
(
Select decode(
bitand(l_refresh_code,g_all_plans),g_all_plans,'Y',
decode( bitand(l_refresh_code,g_cb_plans),g_cb_plans,
decode(decode(bv.baselined_date, NULL, 'N', 'Y')||bv.current_flag,'YY', 'Y', 'N'),'X')) from dual
UNION ALL
Select decode(
bitand(l_refresh_code,g_all_plans),g_all_plans,'Y',
decode( bitand(l_refresh_code,g_co_plans),g_co_plans,bv.current_original_flag,'X')) from dual
)
OR -- Bug#5099574 Pull Reversals for Fin plan Working Versions when l_refresh_code=16,30. ignore if l_refresh_code>=62
(
bv.BUDGET_STATUS_CODE in ('W','S') and
fpo.FIN_PLAN_TYPE_ID <> l_workplan_type_id and -- Bug# 5208322
DECODE(BITAND(l_refresh_code,g_all_plans),g_all_plans,'N',DECODE(BITAND(l_refresh_code,g_wk_plans),g_wk_plans,'Y','N'))='Y'
)
OR --Pull Reversals for Work plan Working Versions / LPub Vers / Baselined Versions when l_refresh_code=2,8,16,30. ignore if l_refresh_code>=62
EXISTS ( select 1 from PA_PROJ_ELEM_VER_STRUCTURE ppevs where
bv.FIN_PLAN_TYPE_ID = l_workplan_type_id and -- Bug# 5208322
bv.PROJECT_STRUCTURE_VERSION_ID = ppevs.ELEMENT_VERSION_ID and
(
decode(BITAND(l_refresh_code,g_all_plans),g_all_plans,'N',
decode(BITAND(l_refresh_code,g_lp_plans),g_lp_plans,LATEST_EFF_PUBLISHED_FLAG,'N'))='Y'
or
decode(BITAND(l_refresh_code,g_all_plans),g_all_plans,'N',
decode(BITAND(l_refresh_code,g_wk_plans),g_wk_plans,STATUS_CODE,'N'))='STRUCTURE_WORKING'
or
decode(BITAND(l_refresh_code,g_all_plans ),g_all_plans ,'N',
decode(BITAND(l_refresh_code,g_cb_plans),g_cb_plans,NVL2(CURRENT_BASELINE_DATE,'Y','N'),'N')) ='Y'
)
)
)
UNION ALL --Pull Reversals for Actuals , CB,CO when l_refresh_code=-1,-3,-4
select
map.worker_id,map.project_id, plan_version_id, 'G' time_phased_code
from
PJI_PJP_PROJ_BATCH_MAP map,
(
select decode (bitand (l_refresh_code,1),1,-1,-999) plan_version_id from dual where l_plan_type_id is null
union all
select decode (bitand (l_refresh_code,g_cb_plans),g_cb_plans,-3,-999) plan_version_id from dual
union all
select decode (bitand (l_refresh_code,g_co_plans),g_co_plans,-4,-999) plan_version_id from dual
)
where map.worker_id=p_worker_id;
insert /*+ append parallel(pjp1_i) */ into PJI_FP_AGGR_PJP1 pjp1_i
(
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 /*+ parallel(tmp) */
WORKER_ID,
null RECORD_TYPE,
0 PRG_LEVEL,
null 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,
sum(RAW_COST) RAW_COST,
sum(BRDN_COST) BRDN_COST,
sum(REVENUE) REVENUE,
sum(BILL_RAW_COST) BILL_RAW_COST,
sum(BILL_BRDN_COST) BILL_BRDN_COST,
sum(BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
sum(BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
sum(BILL_LABOR_HRS) BILL_LABOR_HRS,
sum(EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
sum(EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
sum(CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
sum(CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
sum(LABOR_RAW_COST) LABOR_RAW_COST,
sum(LABOR_BRDN_COST) LABOR_BRDN_COST,
sum(LABOR_HRS) LABOR_HRS,
sum(LABOR_REVENUE) LABOR_REVENUE,
sum(EQUIPMENT_HOURS) EQUIPMENT_HOURS,
sum(BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
sum(SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(OTH_COMMITTED_COST) OTH_COMMITTED_COST,
sum(ACT_LABOR_HRS) ACT_LABOR_HRS,
sum(ACT_EQUIP_HRS) ACT_EQUIP_HRS,
sum(ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
sum(ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
sum(ACT_BRDN_COST) ACT_BRDN_COST,
sum(ACT_RAW_COST) ACT_RAW_COST,
sum(ACT_REVENUE) ACT_REVENUE,
sum(ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
sum(ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
sum(ETC_LABOR_HRS) ETC_LABOR_HRS,
sum(ETC_EQUIP_HRS) ETC_EQUIP_HRS,
sum(ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
sum(ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
sum(ETC_BRDN_COST) ETC_BRDN_COST,
sum(ETC_RAW_COST) ETC_RAW_COST,
sum(ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
sum(ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
sum(CUSTOM1) CUSTOM1,
sum(CUSTOM2) CUSTOM2,
sum(CUSTOM3) CUSTOM3,
sum(CUSTOM4) CUSTOM4,
sum(CUSTOM5) CUSTOM5,
sum(CUSTOM6) CUSTOM6,
sum(CUSTOM7) CUSTOM7,
sum(CUSTOM8) CUSTOM8,
sum(CUSTOM9) CUSTOM9,
sum(CUSTOM10) CUSTOM10,
sum(CUSTOM11) CUSTOM11,
sum(CUSTOM12) CUSTOM12,
sum(CUSTOM13) CUSTOM13,
sum(CUSTOM14) CUSTOM14,
sum(CUSTOM15) CUSTOM15
from
(
select /*+ parallel(PJI_FP_AGGR_PJP0) */
WORKER_ID,
to_char(null) 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,
'A' 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,
to_number(null) ACT_LABOR_HRS,
to_number(null) ACT_EQUIP_HRS,
to_number(null) ACT_LABOR_BRDN_COST,
to_number(null) ACT_EQUIP_BRDN_COST,
to_number(null) ACT_BRDN_COST,
to_number(null) ACT_RAW_COST,
to_number(null) ACT_REVENUE,
to_number(null) ACT_LABOR_RAW_COST,
to_number(null) ACT_EQUIP_RAW_COST,
to_number(null) ETC_LABOR_HRS,
to_number(null) ETC_EQUIP_HRS,
to_number(null) ETC_LABOR_BRDN_COST,
to_number(null) ETC_EQUIP_BRDN_COST,
to_number(null) ETC_BRDN_COST,
to_number(null) ETC_RAW_COST,
to_number(null) ETC_LABOR_RAW_COST,
to_number(null) ETC_EQUIP_RAW_COST,
to_number(null) CUSTOM1,
to_number(null) CUSTOM2,
to_number(null) CUSTOM3,
to_number(null) CUSTOM4,
to_number(null) CUSTOM5,
to_number(null) CUSTOM6,
to_number(null) CUSTOM7,
to_number(null) CUSTOM8,
to_number(null) CUSTOM9,
to_number(null) CUSTOM10,
to_number(null) CUSTOM11,
to_number(null) CUSTOM12,
to_number(null) CUSTOM13,
to_number(null) CUSTOM14,
to_number(null) CUSTOM15
from
PJI_FP_AGGR_PJP0
where
WORKER_ID = p_worker_id
union all
select /*+ parallel(PJI_FP_AGGR_PJP0) */
WORKER_ID,
to_char(null) 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,
'A' PLAN_TYPE_CODE,
to_number(null) RAW_COST,
to_number(null) BRDN_COST,
to_number(null) REVENUE,
to_number(null) BILL_RAW_COST,
to_number(null) BILL_BRDN_COST,
to_number(null) BILL_LABOR_RAW_COST,
to_number(null) BILL_LABOR_BRDN_COST,
to_number(null) BILL_LABOR_HRS,
to_number(null) EQUIPMENT_RAW_COST,
to_number(null) EQUIPMENT_BRDN_COST,
to_number(null) CAPITALIZABLE_RAW_COST,
to_number(null) CAPITALIZABLE_BRDN_COST,
to_number(null) LABOR_RAW_COST,
to_number(null) LABOR_BRDN_COST,
to_number(null) LABOR_HRS,
to_number(null) LABOR_REVENUE,
to_number(null) EQUIPMENT_HOURS,
to_number(null) BILLABLE_EQUIPMENT_HOURS,
to_number(null) SUP_INV_COMMITTED_COST,
to_number(null) PO_COMMITTED_COST,
to_number(null) PR_COMMITTED_COST,
to_number(null) OTH_COMMITTED_COST,
to_number(null) ACT_LABOR_HRS,
to_number(null) ACT_EQUIP_HRS,
to_number(null) ACT_LABOR_BRDN_COST,
to_number(null) ACT_EQUIP_BRDN_COST,
to_number(null) ACT_BRDN_COST,
to_number(null) ACT_RAW_COST,
to_number(null) ACT_REVENUE,
to_number(null) ACT_LABOR_RAW_COST,
to_number(null) ACT_EQUIP_RAW_COST,
to_number(null) ETC_LABOR_HRS,
to_number(null) ETC_EQUIP_HRS,
to_number(null) ETC_LABOR_BRDN_COST,
to_number(null) ETC_EQUIP_BRDN_COST,
to_number(null) ETC_BRDN_COST,
to_number(null) ETC_RAW_COST,
to_number(null) ETC_LABOR_RAW_COST,
to_number(null) ETC_EQUIP_RAW_COST,
CUSTOM1,
CUSTOM2,
CUSTOM3,
CUSTOM4,
CUSTOM5,
CUSTOM6,
CUSTOM7,
CUSTOM8,
CUSTOM9,
CUSTOM10,
CUSTOM11,
CUSTOM12,
CUSTOM13,
CUSTOM14,
CUSTOM15
from
PJI_FP_CUST_PJP0
where
WORKER_ID = p_worker_id
union all -- commitments reversals
select /*+ ordered parallel(map) parallel(fpr) use_hash(fpr) */
p_worker_id WORKER_ID,
to_char(null) LINE_TYPE,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
fpr.PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
fpr.PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
to_number(null) RAW_COST,
to_number(null) BRDN_COST,
to_number(null) REVENUE,
to_number(null) BILL_RAW_COST,
to_number(null) BILL_BRDN_COST,
to_number(null) BILL_LABOR_RAW_COST,
to_number(null) BILL_LABOR_BRDN_COST,
to_number(null) BILL_LABOR_HRS,
to_number(null) EQUIPMENT_RAW_COST,
to_number(null) EQUIPMENT_BRDN_COST,
to_number(null) CAPITALIZABLE_RAW_COST,
to_number(null) CAPITALIZABLE_BRDN_COST,
to_number(null) LABOR_RAW_COST,
to_number(null) LABOR_BRDN_COST,
to_number(null) LABOR_HRS,
to_number(null) LABOR_REVENUE,
to_number(null) EQUIPMENT_HOURS,
to_number(null) BILLABLE_EQUIPMENT_HOURS,
- fpr.SUP_INV_COMMITTED_COST,
- fpr.PO_COMMITTED_COST,
- fpr.PR_COMMITTED_COST,
- fpr.OTH_COMMITTED_COST,
to_number(null) ACT_LABOR_HRS,
to_number(null) ACT_EQUIP_HRS,
to_number(null) ACT_LABOR_BRDN_COST,
to_number(null) ACT_EQUIP_BRDN_COST,
to_number(null) ACT_BRDN_COST,
to_number(null) ACT_RAW_COST,
to_number(null) ACT_REVENUE,
to_number(null) ACT_LABOR_RAW_COST,
to_number(null) ACT_EQUIP_RAW_COST,
to_number(null) ETC_LABOR_HRS,
to_number(null) ETC_EQUIP_HRS,
to_number(null) ETC_LABOR_BRDN_COST,
to_number(null) ETC_EQUIP_BRDN_COST,
to_number(null) ETC_BRDN_COST,
to_number(null) ETC_RAW_COST,
to_number(null) ETC_LABOR_RAW_COST,
to_number(null) ETC_EQUIP_RAW_COST,
to_number(null) CUSTOM1,
to_number(null) CUSTOM2,
to_number(null) CUSTOM3,
to_number(null) CUSTOM4,
to_number(null) CUSTOM5,
to_number(null) CUSTOM6,
to_number(null) CUSTOM7,
to_number(null) CUSTOM8,
to_number(null) CUSTOM9,
to_number(null) CUSTOM10,
- fpr.custom11 CUSTOM11, /* Modified for Bug 8271578 Start */
- fpr.custom12 CUSTOM12,
- fpr.custom13 CUSTOM13,
- fpr.custom14 CUSTOM14,
- fpr.custom15 CUSTOM15 /* Modified for Bug 8271578 End */
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_FP_XBS_ACCUM_F fpr
where
l_extraction_type = 'INCREMENTAL' and
map.WORKER_ID = p_worker_id and
map.EXTRACTION_TYPE = 'M' and
fpr.PROJECT_ID = map.PROJECT_ID and
fpr.PERIOD_TYPE_ID = 32 and
fpr.RBS_AGGR_LEVEL = 'L' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG = 'N' and
abs(nvl(fpr.SUP_INV_COMMITTED_COST, 0)) +
abs(nvl(fpr.PO_COMMITTED_COST, 0)) +
abs(nvl(fpr.PR_COMMITTED_COST, 0)) +
abs(nvl(fpr.OTH_COMMITTED_COST, 0)) > 0
union all
select /*+ ordered parallel(map) parallel(fpr) use_hash(fpr) */
p_worker_id WORKER_ID,
to_char(null) LINE_TYPE,
fpr.PROJECT_ID,
fpr.PROJECT_ORG_ID,
fpr.PROJECT_ORGANIZATION_ID,
fpr.PROJECT_ELEMENT_ID,
fpr.TIME_ID,
fpr.PERIOD_TYPE_ID,
fpr.CALENDAR_TYPE,
fpr.RBS_AGGR_LEVEL,
fpr.WBS_ROLLUP_FLAG,
fpr.PRG_ROLLUP_FLAG,
fpr.CURR_RECORD_TYPE_ID,
fpr.CURRENCY_CODE,
fpr.RBS_ELEMENT_ID,
fpr.RBS_VERSION_ID,
fpr.PLAN_VERSION_ID,
fpr.PLAN_TYPE_ID,
fpr.PLAN_TYPE_CODE,
- fpr.RAW_COST RAW_COST,
- fpr.BRDN_COST BRDN_COST,
- fpr.REVENUE REVENUE,
- fpr.BILL_RAW_COST BILL_RAW_COST,
- fpr.BILL_BRDN_COST BILL_BRDN_COST,
- fpr.BILL_LABOR_RAW_COST BILL_LABOR_RAW_COST,
- fpr.BILL_LABOR_BRDN_COST BILL_LABOR_BRDN_COST,
- fpr.BILL_LABOR_HRS BILL_LABOR_HRS,
- fpr.EQUIPMENT_RAW_COST EQUIPMENT_RAW_COST,
- fpr.EQUIPMENT_BRDN_COST EQUIPMENT_BRDN_COST,
- fpr.CAPITALIZABLE_RAW_COST CAPITALIZABLE_RAW_COST,
- fpr.CAPITALIZABLE_BRDN_COST CAPITALIZABLE_BRDN_COST,
- fpr.LABOR_RAW_COST LABOR_RAW_COST,
- fpr.LABOR_BRDN_COST LABOR_BRDN_COST,
- fpr.LABOR_HRS LABOR_HRS,
- fpr.LABOR_REVENUE LABOR_REVENUE,
- fpr.EQUIPMENT_HOURS EQUIPMENT_HOURS,
- fpr.BILLABLE_EQUIPMENT_HOURS BILLABLE_EQUIPMENT_HOURS,
- fpr.SUP_INV_COMMITTED_COST SUP_INV_COMMITTED_COST,
- fpr.PO_COMMITTED_COST PO_COMMITTED_COST,
- fpr.PR_COMMITTED_COST PR_COMMITTED_COST,
- fpr.OTH_COMMITTED_COST OTH_COMMITTED_COST,
- fpr.ACT_LABOR_HRS ACT_LABOR_HRS,
- fpr.ACT_EQUIP_HRS ACT_EQUIP_HRS,
- fpr.ACT_LABOR_BRDN_COST ACT_LABOR_BRDN_COST,
- fpr.ACT_EQUIP_BRDN_COST ACT_EQUIP_BRDN_COST,
- fpr.ACT_BRDN_COST ACT_BRDN_COST,
- fpr.ACT_RAW_COST ACT_RAW_COST,
- fpr.ACT_REVENUE ACT_REVENUE,
- fpr.ACT_LABOR_RAW_COST ACT_LABOR_RAW_COST,
- fpr.ACT_EQUIP_RAW_COST ACT_EQUIP_RAW_COST,
- fpr.ETC_LABOR_HRS ETC_LABOR_HRS,
- fpr.ETC_EQUIP_HRS ETC_EQUIP_HRS,
- fpr.ETC_LABOR_BRDN_COST ETC_LABOR_BRDN_COST,
- fpr.ETC_EQUIP_BRDN_COST ETC_EQUIP_BRDN_COST,
- fpr.ETC_BRDN_COST ETC_BRDN_COST,
- fpr.ETC_RAW_COST ETC_RAW_COST,
- fpr.ETC_LABOR_RAW_COST ETC_LABOR_RAW_COST,
- fpr.ETC_EQUIP_RAW_COST ETC_EQUIP_RAW_COST,
- fpr.CUSTOM1 CUSTOM1,
- fpr.CUSTOM2 CUSTOM2,
- fpr.CUSTOM3 CUSTOM3,
- fpr.CUSTOM4 CUSTOM4,
- fpr.CUSTOM5 CUSTOM5,
- fpr.CUSTOM6 CUSTOM6,
- fpr.CUSTOM7 CUSTOM7,
- fpr.CUSTOM8 CUSTOM8,
- fpr.CUSTOM9 CUSTOM9,
- fpr.CUSTOM10 CUSTOM10,
- fpr.CUSTOM11 CUSTOM11,
- fpr.CUSTOM12 CUSTOM12,
- fpr.CUSTOM13 CUSTOM13,
- fpr.CUSTOM14 CUSTOM14,
- fpr.CUSTOM15 CUSTOM15
from
PJI_FM_EXTR_PLNVER3_T map,
PJI_FP_XBS_ACCUM_F fpr
where
l_extraction_type = 'PARTIAL' and
map.WORKER_ID = p_worker_id and
fpr.PROJECT_ID = map.PROJECT_ID and
fpr.PLAN_VERSION_ID = map.PLAN_VERSION_ID and
fpr.PERIOD_TYPE_ID = decode(map.time_phased_type_code,
'N', decode(fpr.PERIOD_TYPE_ID,
32, 32,
2048),
32) and
fpr.RBS_AGGR_LEVEL = 'L' and
fpr.WBS_ROLLUP_FLAG = 'N' and
fpr.PRG_ROLLUP_FLAG = 'N'
) tmp
group by
WORKER_ID,
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
having not
(nvl(sum(RAW_COST), 0) = 0 and
nvl(sum(BRDN_COST), 0) = 0 and
nvl(sum(REVENUE), 0) = 0 and
nvl(sum(BILL_RAW_COST), 0) = 0 and
nvl(sum(BILL_BRDN_COST), 0) = 0 and
nvl(sum(BILL_LABOR_RAW_COST), 0) = 0 and
nvl(sum(BILL_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(BILL_LABOR_HRS), 0) = 0 and
nvl(sum(EQUIPMENT_RAW_COST), 0) = 0 and
nvl(sum(EQUIPMENT_BRDN_COST), 0) = 0 and
nvl(sum(CAPITALIZABLE_RAW_COST), 0) = 0 and
nvl(sum(CAPITALIZABLE_BRDN_COST), 0) = 0 and
nvl(sum(LABOR_RAW_COST), 0) = 0 and
nvl(sum(LABOR_BRDN_COST), 0) = 0 and
nvl(sum(LABOR_HRS), 0) = 0 and
nvl(sum(LABOR_REVENUE), 0) = 0 and
nvl(sum(EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
nvl(sum(SUP_INV_COMMITTED_COST), 0) = 0 and
nvl(sum(PO_COMMITTED_COST), 0) = 0 and
nvl(sum(PR_COMMITTED_COST), 0) = 0 and
nvl(sum(OTH_COMMITTED_COST), 0) = 0 and
nvl(sum(ACT_LABOR_HRS), 0) = 0 and
nvl(sum(ACT_EQUIP_HRS), 0) = 0 and
nvl(sum(ACT_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(ACT_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(ACT_BRDN_COST), 0) = 0 and
nvl(sum(ACT_RAW_COST), 0) = 0 and
nvl(sum(ACT_REVENUE), 0) = 0 and
nvl(sum(ACT_LABOR_RAW_COST), 0) = 0 and
nvl(sum(ACT_EQUIP_RAW_COST), 0) = 0 and
nvl(sum(ETC_LABOR_HRS), 0) = 0 and
nvl(sum(ETC_EQUIP_HRS), 0) = 0 and
nvl(sum(ETC_LABOR_BRDN_COST), 0) = 0 and
nvl(sum(ETC_EQUIP_BRDN_COST), 0) = 0 and
nvl(sum(ETC_BRDN_COST), 0) = 0 and
nvl(sum(ETC_RAW_COST), 0) = 0 and
nvl(sum(ETC_LABOR_RAW_COST), 0) = 0 and
nvl(sum(ETC_EQUIP_RAW_COST), 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);
delete from PJI_FM_EXTR_PLNVER3_T where worker_id=p_worker_id;
select decode (PDML_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'DISABLE'),
decode (PQ_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'ENABLE')
into l_pdml_state, l_pq_state
from v$session
where sid = (select min(sid) from v$mystat where rownum < 2);
select STEP_SEQ
into l_step_seq
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME = l_process and
STEP_NAME = 'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_WBS(p_worker_id);';
select count(*)
into l_count
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME = l_process and
STEP_NAME like 'ROLLUP_FPR_WBS%';
select /*+ ordered index(den PJI_XBS_DENORM_N3) use_hash(den) */ --Bug 7516507
nvl(max(den.SUP_LEVEL), 0)
into
l_level
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_XBS_DENORM den
where
map.WORKER_ID = p_worker_id and
den.STRUCT_TYPE = 'PRG' and
den.SUB_LEVEL = den.SUP_LEVEL and
den.SUP_PROJECT_ID = map.PROJECT_ID;
insert /*+ NOAPPEND */ into PJI_SYSTEM_PRC_STATUS sps
(
PROCESS_NAME,
STEP_SEQ,
STEP_STATUS,
STEP_NAME,
START_DATE,
END_DATE
)
select
l_process PROCESS_NAME,
to_char(l_step_seq + x / 1000) STEP_SEQ,
null STEP_STATUS,
'ROLLUP_FPR_WBS - level ' || to_char(l_level - x + 1) STEP_NAME,
null START_DATE,
null END_DATE
from
DUAL;
select
nvl(to_number(min(STEP_SEQ)), 0)
into
l_level_seq
from
PJI_SYSTEM_PRC_STATUS
where
PROCESS_NAME = l_process and
STEP_NAME like 'ROLLUP_FPR_WBS%' and
STEP_STATUS is null;
update /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */ PJI_SYSTEM_PRC_STATUS sps
set START_DATE = sysdate
where PROCESS_NAME = l_process and
STEP_SEQ = l_level_seq;
update /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */ PJI_SYSTEM_PRC_STATUS
set STEP_STATUS = 'C',
END_DATE = sysdate
where PROCESS_NAME = l_process and
STEP_SEQ = l_level_seq;
select
nvl(to_number(min(STEP_SEQ)), 0)
into
l_level_seq
from
PJI_SYSTEM_PRC_STATUS
where
PROCESS_NAME = l_process and
STEP_NAME like 'ROLLUP_FPR_WBS%' and
STEP_STATUS is null;
select decode (PDML_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'DISABLE'),
decode (PQ_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'ENABLE')
into l_pdml_state, l_pq_state
from v$session
where sid = (select min(sid) from v$mystat where rownum < 2);
select decode (PDML_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'DISABLE'),
decode (PQ_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'ENABLE')
into l_pdml_state, l_pq_state
from v$session
where sid = (select min(sid) from v$mystat where rownum < 2);
delete /*+ PARALLEL(pjp1) */
from PJI_AC_AGGR_PJP1 pjp1
where pjp1.WORKER_ID = p_worker_id and
nvl(pjp1.RECORD_TYPE, 'X') <> 'A';
update FND_PROFILE_OPTION_VALUES
set PROFILE_OPTION_VALUE = 'N'
where APPLICATION_ID = 1292
and PROFILE_OPTION_ID in
(select PROFILE_OPTION_ID
from FND_PROFILE_OPTIONS
where APPLICATION_ID = 1292 and
PROFILE_OPTION_NAME = 'PJI_SUM_CLEANALL');
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 /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */ PJI_SYSTEM_PRC_STATUS
set START_DATE = sysdate
where PROCESS_NAME = p_process and
STEP_NAME = p_step and
START_DATE is null;
update /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */
PJI_SYSTEM_PRC_STATUS
set STEP_STATUS = 'C',
END_DATE = sysdate
where PROCESS_NAME = p_process and
STEP_NAME = p_step;
delete /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */
from PJI_SYSTEM_PRC_STATUS
where PROCESS_NAME = p_process;
delete /*+ NO_PARALLEL(PJI_SYSTEM_PARAMETERS) */
from PJI_SYSTEM_PARAMETERS
where NAME like p_process || '$%';
insert
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
OPT_PARAM('_b_tree_bitmap_plans' 'false')
OPT_PARAM('_fast_full_scan_enabled' 'false')
ALL_ROWS
OUTLINE_LEAF(@"SEL$4")
OUTLINE_LEAF(@"SEL$5")
OUTLINE_LEAF(@"SEL$6")
OUTLINE_LEAF(@"SEL$7")
OUTLINE_LEAF(@"SEL$8")
OUTLINE_LEAF(@"SEL$9")
OUTLINE_LEAF(@"SEL$10")
OUTLINE_LEAF(@"SEL$11")
OUTLINE_LEAF(@"SET$2")
OUTLINE_LEAF(@"SEL$12")
OUTLINE_LEAF(@"SEL$13")
OUTLINE_LEAF(@"SET$3")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SEL$15")
OUTLINE_LEAF(@"SEL$16")
OUTLINE_LEAF(@"SEL$17")
OUTLINE_LEAF(@"SEL$18")
OUTLINE_LEAF(@"SET$4")
OUTLINE_LEAF(@"SEL$14")
OUTLINE_LEAF(@"SEL$20")
OUTLINE_LEAF(@"SEL$21")
OUTLINE_LEAF(@"SEL$22")
OUTLINE_LEAF(@"SEL$23")
OUTLINE_LEAF(@"SEL$24")
OUTLINE_LEAF(@"SEL$25")
OUTLINE_LEAF(@"SEL$26")
OUTLINE_LEAF(@"SEL$27")
OUTLINE_LEAF(@"SET$5")
OUTLINE_LEAF(@"SEL$28")
OUTLINE_LEAF(@"SEL$29")
OUTLINE_LEAF(@"SET$6")
OUTLINE_LEAF(@"SEL$19")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$31")
OUTLINE_LEAF(@"SEL$32")
OUTLINE_LEAF(@"SEL$33")
OUTLINE_LEAF(@"SEL$34")
OUTLINE_LEAF(@"SET$7")
OUTLINE_LEAF(@"SEL$30")
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$1")
OUTLINE_LEAF(@"INS$1")
OUTLINE(@"SEL$4")
OUTLINE(@"SEL$5")
OUTLINE(@"SEL$6")
OUTLINE(@"SEL$7")
OUTLINE(@"SEL$8")
OUTLINE(@"SEL$9")
OUTLINE(@"SEL$10")
OUTLINE(@"SEL$11")
OUTLINE(@"SET$2")
OUTLINE(@"SEL$12")
OUTLINE(@"SEL$13")
OUTLINE(@"SET$3")
OUTLINE(@"SEL$3")
OUTLINE(@"SEL$15")
OUTLINE(@"SEL$16")
OUTLINE(@"SEL$17")
OUTLINE(@"SEL$18")
OUTLINE(@"SET$4")
OUTLINE(@"SEL$14")
OUTLINE(@"SEL$20")
OUTLINE(@"SEL$21")
OUTLINE(@"SEL$22")
OUTLINE(@"SEL$23")
OUTLINE(@"SEL$24")
OUTLINE(@"SEL$25")
OUTLINE(@"SEL$26")
OUTLINE(@"SEL$27")
OUTLINE(@"SET$5")
OUTLINE(@"SEL$28")
OUTLINE(@"SEL$29")
OUTLINE(@"SET$6")
OUTLINE(@"SEL$19")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$31")
OUTLINE(@"SEL$32")
OUTLINE(@"SEL$33")
OUTLINE(@"SEL$34")
OUTLINE(@"SET$7")
OUTLINE(@"SEL$30")
OUTLINE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"INS$1")
FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
USE_HASH(@"SEL$2" "PRG"@"SEL$2")
USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
FULL(@"SEL$30" "MAP"@"SEL$30")
FULL(@"SEL$30" "PRG"@"SEL$30")
NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
USE_HASH(@"SEL$30" "PRG"@"SEL$30")
USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
FULL(@"SEL$19" "LOG"@"SEL$19")
INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
FULL(@"SEL$19" "WBS"@"SEL$19")
INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
USE_HASH(@"SEL$19" "WBS"@"SEL$19")
USE_NL(@"SEL$19" "PRG"@"SEL$19")
USE_NL(@"SEL$19" "FPR"@"SEL$19")
USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
FULL(@"SEL$14" "PRG"@"SEL$14")
FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$14" "PJP1"@"SEL$14")
LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
FULL(@"SEL$3" "PRG"@"SEL$3")
FULL(@"SEL$3" "WBS"@"SEL$3")
FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
FULL(@"SEL$3" "PJP1"@"SEL$3")
LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
USE_HASH(@"SEL$3" "WBS"@"SEL$3")
USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
END_OUTLINE_DATA
*/
/*+ 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 /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(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_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 /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(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_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)));
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_AGGR_PJP2'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME
AND status <> 'UNUSABLE') LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION P'||g_worker_id||' UNUSABLE';
insert /*+ parallel(PJI_FP_AGGR_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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_PJP2) */ -- Added for bug 13897252
into PJI_FP_AGGR_PJP2 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 /*+ parallel(pjp1) */
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);
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_AGGR_PJP2'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
, partitioned
FROM dba_indexes
WHERE table_name = 'PJI_FP_AGGR_PJP2'
AND table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP
IF ind_lp.partitioned = 'YES' THEN
EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';