The following lines contain the word 'select', 'insert', 'update' or 'delete':
select VALUE
into l_result
from PJI_SYSTEM_PARAMETERS
where NAME = p_name;
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
, PRG_LEVEL
, PLAN_TYPE_CODE
)
SELECT /*+ ordered no_merge(plr)
index (pji_time PJI_TIME_CAL_PERIOD_U2)*/
g_worker_id WORKER_ID
, plr.PROJECT_ID
, plr.PROJECT_ORG_ID
, plr.project_ORGANIZATION_ID
, plr.WBS_ELEMENT_ID project_element_id
, DECODE(plr.time_phased_type_code
, 'N', -1
, pji_time.cal_period_id) time_id
, DECODE(plr.time_phased_type_code
, 'P', 32
, 'G', 32
, 'N', 2048
, -1) period_type_id -- period type id...
, DECODE(plr.time_phased_type_code
, 'P', 'P'
, 'G', 'G'
, 'N', 'A'
, 'X') CALENDAR_TYPE
, 'L' RBS_AGGR_LEVEL
, 'N' WBS_ROLLUP_FLAG
, 'N' PRG_ROLLUP_FLAG
, plr.CURR_RECORD_TYPE CURR_RECORD_TYPE_id
, plr.currency_code
, plr.RBS_ELEMENT_ID
, plr.RBS_STRUCT_VERSION_ID RBS_VERSION_ID
, plr.BUDGET_VERSION_ID 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, 'YPEOPLE', plr.raw_cost, 0 ) ) BILL_LABOR_RAW_COST
, SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'YPEOPLE' , plr.BRDN_COST, 0 ) ) BILL_LABOR_BRDN_COST
/* , SUM ( DECODE ( plr.billable_flag || plr.resource_class , 'YPEOPLE', plr.quantity, 0 ) ) BILL_LABOR_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.billable_flag || plr.resource_class , 'YPEOPLE',
DECODE ( plr.billable_flag , 'Y' , plr.quantity , 0 ) , 0 ) ) BILL_LABOR_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.raw_cost, 0 ) ) EQUIPMENT_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , 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, 'PEOPLE', plr.raw_cost, 0 ) ) LABOR_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.BRDN_COST, 0 ) ) LABOR_BRDN_COST
/* , SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.quantity, 0 ) ) labor_hrs */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', DECODE(plr.billable_flag , 'Y', plr.quantity,0),
0 ) ) labor_hrs -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.revenue, 0 ) ) LABOR_REVENUE
/* , SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', plr.quantity, 0 ) ) EQUIPMENT_HOURS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', DECODE(plr.billable_flag , 'Y', plr.quantity, 0),
0 ) ) EQUIPMENT_HOURS -- bug 6039785
/* , SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'YEQUIPMENT', plr.quantity, 0 ) ) BILLABLE_EQUIPMENT_HOURS */ -- bug 6039785
, SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'YEQUIPMENT', 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.resource_class, 'PEOPLE', plr.actual_quantity, 0 ) ) ACT_LABOR_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE' , DECODE (plr.billable_flag ,'Y', plr.actual_quantity,0),
0 ) ) ACT_LABOR_HRS -- bug 6039785
/* , SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', plr.actual_quantity, 0 ) ) ACT_EQUIP_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', DECODE (plr.billable_flag ,'Y', plr.actual_quantity, 0),
0 ) ) ACT_EQUIP_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.actual_BRDN_COST, 0 ) ) ACT_LABOR_BRDN_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.actual_BRDN_COST, 0 ) ) ACT_EQUIP_BRDN_COST
, SUM ( plr.actual_brdn_cost ) ACT_BRDN_COST
, SUM ( plr.actual_raw_cost ) ACT_RAW_COST
, SUM ( plr.actual_revenue ) ACT_REVENUE
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.actual_RAW_COST, 0 ) ) ACT_LABOR_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.actual_RAW_COST, 0 ) ) ACT_EQUIP_RAW_COST
/* , SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.etc_quantity, 0 ) ) ETC_LABOR_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', DECODE (plr.billable_flag , 'Y' , plr.ETC_quantity,0),
0 ) ) ETC_LABOR_HRS -- bug 6039785
/* , SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', plr.etc_quantity, 0 ) ) ETC_EQUIP_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', DECODE (plr.billable_flag , 'Y' , plr.etc_quantity, 0) ,
0 ) ) ETC_EQUIP_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.etc_BRDN_COST, 0 ) ) ETC_LABOR_BRDN_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.etc_BRDN_COST, 0 ) ) ETC_EQUIP_BRDN_COST
, SUM(plr.etc_BRDN_COST) ETC_BRDN_COST
, SUM(plr.etc_RAW_COST) ETC_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.etc_raw_cost, 0 ) ) ETC_LABOR_raw_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', plr.etc_raw_cost, 0 ) ) ETC_EQUIP_raw_COST
, NULL CUSTOM1
, NULL CUSTOM2
, NULL CUSTOM3
, NULL CUSTOM4
, NULL CUSTOM5
, NULL CUSTOM6
, NULL CUSTOM7
, NULL CUSTOM8
, NULL CUSTOM9
, NULL CUSTOM10
, NULL CUSTOM11
, NULL CUSTOM12
, NULL CUSTOM13
, NULL CUSTOM14
, NULL CUSTOM15
, DECODE(plr.time_phased_type_code, 'P', 'OF', 'G', 'OF', 'N', 'NTR', 'X') LINE_TYPE
, NULL time_dangling_flag
, NULL rate_dangling_flag
, g_default_prg_level prg_level
, plr.PLAN_TYPE_CODE
FROM
( ----- First inline view plr .............
SELECT /*+ no_merge(collapse_bl) */
collapse_bl.PROJECT_ID -- , 1 partition_id
, collapse_bl.WBS_ELEMENT_ID -- , time_id, period_type_id, calendar type.., slice type, rollpu flag...
, 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.BUDGET_VERSION_ID
, collapse_bl.PROJECT_ORGANIZATION_ID
, collapse_bl.PROJECT_ORG_ID
, collapse_bl.BILLABLE_FLAG
, collapse_bl.RESOURCE_CLASS -- , CALENDAR_TYPE -- , CALENDAR_ID
, 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.quantity) quantity
, MAX(collapse_bl.actual_quantity) actual_quantity
, MAX(collapse_bl.etc_quantity) etc_quantity
, collapse_bl.period_name period_name -- , TRACK_AS_LABOR_FLAG track_as_labor_flag
, collapse_bl.row_id
, collapse_bl.plan_type_code
, collapse_bl.time_phased_type_code
FROM
( ----- Second inline view 'collapse_bl' begin .............
SELECT /*+ no_merge(spread_bl) */
spread_bl.row_id row_id
, spread_bl.PROJECT_ID
, spread_bl.BUDGET_VERSION_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.CALENDAR_TYPE -- , pji_time.CALENDAR_ID
, spread_bl.PROJECT_ORGANIZATION_ID
, spread_bl.PROJECT_ORG_ID
, DECODE( invert.INVERT_ID
, 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
, 4, spread_bl.func_raw_cost
, 8, spread_bl.PRJ_raw_cost
, 16, spread_bl.TXN_raw_cost) raw_cost
, DECODE ( invert.INVERT_ID
, 4, spread_bl.func_BRDN_COST
, 8, spread_bl.PRJ_BRDN_COST
, 16, spread_bl.TXN_BRDN_COST ) BRDN_COST
, DECODE ( invert.INVERT_ID
, 4, spread_bl.func_revenue
, 8, spread_bl.PRJ_revenue
, 16, spread_bl.TXN_revenue ) revenue
, DECODE ( invert.INVERT_ID
, 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
, 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
, 4, spread_bl.func_actual_revenue
, 8, spread_bl.prj_actual_revenue
, 16, spread_bl.txn_actual_revenue ) actual_revenue
, DECODE ( invert.INVERT_ID
, 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
, 4, spread_bl.func_etc_brdn_cost
, 8, spread_bl.prj_etc_brdn_cost
, 16, spread_bl.txn_etc_brdn_cost ) etc_brdn_cost
, spread_bl.quantity quantity
, spread_bl.actual_quantity actual_quantity
, spread_bl.etc_quantity etc_quantity
, spread_bl.period_name period_name
,spread_bl.plan_type_code
, spread_bl.time_phased_type_code
FROM
( ----- Third inline view 'spread_bl' .............
SELECT
ra.project_id
, bl.ROWID row_id
, ra.budget_version_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
, 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(p_slice_type||ver.wp_flag, 'SECY',
decode(ppa.structure_sharing_code, 'SHARE_FULL',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.txn_init_raw_cost,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.txn_init_raw_cost),
bl.txn_init_raw_cost) txn_actual_raw_cost
, DECODE(p_slice_type||ver.wp_flag, 'SECY',
decode(ppa.structure_sharing_code, 'SHARE_FULL',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.txn_init_burdened_cost,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.txn_init_burdened_cost),
bl.txn_init_burdened_cost) txn_actual_brdn_cost
, DECODE(p_slice_type||ver.wp_flag, 'SECY',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.txn_init_revenue,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.txn_init_revenue) txn_actual_revenue
, DECODE(ver.wp_flag, 'N', bl.txn_raw_cost - bl.txn_init_raw_cost, bl.txn_raw_cost) txn_etc_raw_cost
, DECODE(ver.wp_flag, 'N', bl.txn_burdened_cost - bl.txn_init_burdened_cost, bl.txn_burdened_cost) txn_etc_brdn_cost
, 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(p_slice_type||ver.wp_flag, 'SECY',
decode(ppa.structure_sharing_code, 'SHARE_FULL',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.project_init_raw_cost,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.project_init_raw_cost),
bl.project_init_raw_cost) prj_actual_raw_cost
, DECODE(p_slice_type||ver.wp_flag, 'SECY',
decode(ppa.structure_sharing_code, 'SHARE_FULL',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.project_init_burdened_cost,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.project_init_burdened_cost),
bl.project_init_burdened_cost) prj_actual_brdn_cost
, DECODE(p_slice_type||ver.wp_flag, 'SECY',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.project_init_revenue,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.project_init_revenue) prj_actual_revenue
, DECODE(ver.wp_flag, 'N', bl.project_raw_cost - bl.project_init_raw_cost, bl.project_raw_cost) prj_etc_raw_cost
, DECODE(ver.wp_flag, 'N', bl.project_burdened_cost - bl.project_init_burdened_cost, bl.project_burdened_cost) prj_etc_brdn_cost
, bl.projfunc_currency_code func_currency_code
, bl.raw_cost func_raw_cost
, bl.burdened_COST func_BRDN_COST
, bl.revenue func_revenue
, DECODE(p_slice_type||ver.wp_flag, 'SECY',
decode(ppa.structure_sharing_code, 'SHARE_FULL',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.init_raw_cost,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.init_raw_cost),
bl.init_raw_cost) func_actual_raw_cost
, DECODE(p_slice_type||ver.wp_flag, 'SECY',
decode(ppa.structure_sharing_code, 'SHARE_FULL',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.init_burdened_cost,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.init_burdened_cost),
bl.init_burdened_cost) func_actual_brdn_cost
, DECODE(p_slice_type||ver.wp_flag, 'SECY',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.init_revenue,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.init_revenue) func_actual_revenue
, DECODE(ver.wp_flag, 'N', bl.raw_cost - bl.init_raw_cost, bl.raw_cost) func_etc_raw_cost
, DECODE(ver.wp_flag, 'N', bl.burdened_cost - bl.init_burdened_cost, bl.burdened_cost) func_etc_brdn_cost
, bl.quantity quantity
, DECODE(p_slice_type||ver.wp_flag, 'SECY',
decode(ppa.structure_sharing_code, 'SHARE_FULL',
decode(pevs.status_code,'STRUCTURE_WORKING',bl.init_quantity,TO_NUMBER(NULL)), /* Added for bug 8497371 */
bl.init_quantity),
bl.init_quantity) actual_quantity
, DECODE(ver.wp_flag, 'N', bl.quantity - bl.init_quantity, bl.quantity) etc_quantity
, Decode(ver.time_phased_type_code,'N','XXX',NVL(bl.period_name, 'XXX')) period_name /* Added for bug 8497371 */
, ppa.org_id project_org_id
, ppa.carrying_out_organization_id project_organization_id
, ver.plan_type_code
, ver.time_phased_type_code
FROM
PJI_FM_EXTR_PLNVER4 ver
, PA_RESOURCE_ASSIGNMENTS ra
, PA_BUDGET_LINES bl
, PA_PROJECTS_ALL ppa
, PA_PROJ_ELEM_VER_STRUCTURE pevs
WHERE ra.resource_asSIGNment_id = bl.resource_asSIGNment_id
AND ((( p_slice_type = 'PRI' )
AND (( ver.wp_flag = 'Y' )OR (ver.wp_flag = 'N' AND ver.baselined_flag = 'N' )))
OR (p_slice_type = 'SEC' ))
AND ra.project_id = ver.PROJECT_ID
AND ra.budget_version_id = ver.plan_version_id
AND ver.project_id = ppa.project_id
AND bl.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 pevs.project_id = ver.project_id
AND ver.worker_id = g_worker_id
AND ver.time_phased_type_code IN ('P', 'G', 'N')
UNION ALL
SELECT /*+ ordered */
bl.project_id
, bl.ROWID row_id
, bl.plan_version_id budget_version_id
, DECODE(bl.project_element_id, 0, pevs.proj_element_id, bl.project_element_id) wbs_element_id
, NVL(bl.rbs_element_id, -1) rbs_element_id
, bl.struct_ver_id wbs_struct_version_id
, NVL(ver.rbs_struct_version_id, -1) rbs_struct_version_id
, bl.plan_type_id plan_type_id -- ver.plan_type_id
, bl.rate_based_flag billable_flag -- ra.rate_based_flag billable_flag
, bl.resource_class_code resource_class -- ra.resource_class_code resource_class
, 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
, bl.act_txn_raw_cost act_txn_raw_cost
, bl.act_txn_burdened_cost act_txn_brdn_cost
, bl.act_txn_revenue act_txn_revenue
, bl.etc_txn_raw_cost etc_txn_raw_cost
, bl.etc_txn_burdened_cost etc_txn_brdn_cost
, bl.prj_currency_code prj_currency_code
, bl.prj_raw_cost prj_raw_cost
, bl.prj_burdened_cost prj_BRDN_COST
, bl.prj_revenue prj_revenue
, bl.act_prj_raw_cost act_prj_raw_cost
, bl.act_prj_burdened_cost act_prj_brdn_cost
, bl.act_prj_revenue act_prj_revenue
, bl.etc_prj_raw_cost etc_prj_raw_cost
, bl.etc_prj_burdened_cost act_prj_brdn_cost
, bl.pfc_currency_code pfc_currency_code
, bl.pfc_raw_cost prj_raw_cost
, bl.pfc_burdened_cost prj_BRDN_COST
, bl.pfc_revenue prj_revenue
, bl.act_pfc_raw_cost act_prj_raw_cost
, bl.act_pfc_burdened_cost act_prj_brdn_cost
, bl.act_pfc_revenue act_prj_revenue
, bl.etc_pfc_raw_cost etc_prj_raw_cost
, bl.etc_pfc_burdened_cost act_prj_brdn_cost
, bl.quantity quantity
, bl.act_quantity act_quantity
, bl.etc_quantity etc_quantity
, NVL(bl.period_name, 'XXX') period_name
, bl.project_org_id project_org_id
, ppa.carrying_out_organization_id project_organization_id
, ver.plan_type_code
, ver.time_phased_type_code
FROM
PJI_FM_EXTR_PLNVER4 ver
, PA_PROJECTS_ALL ppa
, PA_PROJ_ELEM_VER_STRUCTURE pevs
, PJI_FM_EXTR_PLAN_LINES bl
WHERE 1=1
AND ver.wp_flag = 'Y'
AND bl.project_id = ver.project_id
AND bl.plan_version_id = ver.plan_version_id
AND bl.plan_type_id = ver.plan_type_id
AND ppa.project_id = ver.project_id
AND bl.project_id = ppa.project_id
AND bl.TXN_CURRENCY_CODE IS NOT NULL
AND bl.prj_currency_code IS NOT NULL
AND bl.pfc_currency_code IS NOT NULL
AND pevs.element_version_id = ver.wbs_struct_version_id
AND pevs.project_id = ver.project_id
AND ver.worker_id = g_worker_id
AND ver.time_phased_type_code IN ('P', 'G', 'N')
AND p_slice_type = 'SEC' -- 4682341
) spread_bl
---- end of third inline view 'spread_bl'...........
,
(
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
---- End of second inline view 'collapse_bl' ..........
GROUP BY
collapse_bl.PROJECT_ID
, collapse_bl.WBS_ELEMENT_ID
, collapse_bl.RBS_ELEMENT_ID
, collapse_bl.RBS_STRUCT_VERSION_ID
, collapse_bl.plan_type_id
, collapse_bl.BUDGET_VERSION_ID
, collapse_bl.PROJECT_ORGANIZATION_ID
, collapse_bl.PROJECT_ORG_ID
, collapse_bl.BILLABLE_FLAG
, collapse_bl.RESOURCE_CLASS
, collapse_bl.CURRENCY_CODE
, collapse_bl.period_name
, collapse_bl.row_id
, collapse_bl.plan_type_code
, collapse_bl.time_phased_type_code
) plr
---- End of first inline view plr ..........
, PJI_ORG_EXTR_INFO orginfo
, pji_time_cal_period pji_time
WHERE 1=1
-- AND orginfo.projfunc_currency_mau is not NULL
AND plr.project_org_id = orginfo.org_id
AND DECODE(plr.time_phased_type_code
, 'P', orginfo.pa_calendar_id
, 'G', orginfo.gl_calendar_id
, - p_max_project_id ) = pji_time.calendar_id
AND plr.period_name = pji_time.name
GROUP BY
plr.PROJECT_ID
, plr.PROJECT_ORG_ID
, plr.project_ORGANIZATION_ID
, plr.WBS_ELEMENT_ID
, DECODE(plr.time_phased_type_code
, 'N', -1
, pji_time.cal_period_id)
, DECODE(plr.time_phased_type_code
, 'P', 32
, 'G', 32
, 'N', 2048
, -1) -- period type id...
, DECODE(plr.time_phased_type_code
, 'P', 'P'
, 'G', 'G'
, 'N', 'A'
, 'X') -- CALENDAR_TYPE
, plr.CURR_RECORD_TYPE -- curr code missing.
, plr.currency_code
, plr.RBS_ELEMENT_ID
, plr.RBS_STRUCT_VERSION_ID
, plr.BUDGET_VERSION_ID
, plr.plan_type_id
, DECODE(plr.time_phased_type_code, 'P', 'OF', 'G', 'OF', 'N', 'NTR', 'X')
, plr.PLAN_TYPE_CODE;
l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
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
, PRG_LEVEL
, PLAN_TYPE_CODE /*4471527 */
)
SELECT
g_worker_id WORKER_ID
, fact1.PROJECT_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.project_element_id
, fact1.TIME_ID
, fact1.PERIOD_TYPE_ID
, fact1.CALENDAR_TYPE
, g_top_level
, fact1.WBS_ROLLUP_FLAG
, fact1.PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, -1
, -1
, 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(fact1.CUSTOM1 )
, SUM(fact1.CUSTOM2 )
, SUM(fact1.CUSTOM3 )
, SUM(fact1.CUSTOM4 )
, SUM(fact1.CUSTOM5 )
, SUM(fact1.CUSTOM6 )
, SUM(fact1.CUSTOM7 )
, SUM(fact1.CUSTOM8 )
, SUM(fact1.CUSTOM9 )
, SUM(fact1.CUSTOM10 )
, SUM(fact1.CUSTOM11 )
, SUM(fact1.CUSTOM12 )
, SUM(fact1.CUSTOM13 )
, SUM(fact1.CUSTOM14 )
, SUM(fact1.CUSTOM15 )
, fact1.line_type
, g_default_prg_level
, fact1.plan_type_code
FROM pji_fp_aggr_pjp1 fact1
, pji_fm_extr_plnver4 ver3
WHERE
fact1.RBS_AGGR_LEVEL = g_lowest_level
AND fact1.worker_id = g_worker_id
AND ver3.worker_id = g_worker_id
AND fact1.plan_version_id = ver3.plan_version_id
AND fact1.plan_type_code = ver3.plan_type_code /*4471527 */
AND ( fact1.rbs_version_id = ver3.rbs_struct_version_id
OR fact1.rbs_version_id = -1)
AND ver3.secondary_rbs_flag = 'N'
GROUP BY
fact1.PROJECT_ID
, fact1.PROJECT_ORG_ID
, fact1.PROJECT_ORGANIZATION_ID
, fact1.project_element_id
, fact1.TIME_ID
, fact1.PERIOD_TYPE_ID
, fact1.CALENDAR_TYPE
, fact1.WBS_ROLLUP_FLAG
, fact1.PRG_ROLLUP_FLAG
, fact1.CURR_RECORD_TYPE_ID
, fact1.CURRENCY_CODE
, fact1.RBS_VERSION_ID
, fact1.PLAN_VERSION_ID
, fact1.PLAN_TYPE_ID
, fact1.line_type
, fact1.plan_type_code; /*4471527 */
INSERT 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
,PLAN_TYPE_CODE /*4471527 */
)
-- Get actuals from budget lines for extraction type is full.
SELECT /*+ ordered no_merge(plr) */
g_worker_id worker_id
, g_default_prg_level prg_level
, plr.PROJECT_ID
, plr.PROJECT_ORG_ID
, plr.project_ORGANIZATION_ID
, plr.WBS_ELEMENT_ID
, DECODE(plr.time_phased_type_code
, 'N', -1
, pji_time.cal_period_id) time_id
, DECODE(plr.time_phased_type_code
, 'P', 32
, 'G', 32
, 'N', 2048
, -1) period_type_id -- period type id...
, DECODE(plr.time_phased_type_code
, 'P', 'P'
, 'G', 'G'
, 'N', 'A'
, 'X') -- CALENDAR_TYPE
, 'L' RBS_AGGR_LEVEL
, 'N' WBS_ROLLUP_FLAG
, 'N' PRG_ROLLUP_FLAG
, plr.CURR_RECORD_TYPE -- curr code missing.
, plr.currency_code
, plr.RBS_ELEMENT_ID
, plr.RBS_STRUCT_VERSION_ID
, plr.BUDGET_VERSION_ID
, plr.plan_type_id plan_type_id
, 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) -- TO_NUMBER(NULL) SUP_INV_COMMITTED_COST
, TO_NUMBER(NULL) -- TO_NUMBER(NULL) PO_COMMITTED_COST
, TO_NUMBER(NULL) -- TO_NUMBER(NULL) PR_COMMITTED_COST
, TO_NUMBER(NULL) -- TO_NUMBER(NULL) OTH_COMMITTED_COST
, SUM ( DECODE ( plr.resource_class
, 'PEOPLE'
, DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,TO_NUMBER(NULL))
, TO_NUMBER(NULL) ) ) ACT_LABOR_HRS
, SUM ( DECODE ( plr.resource_class
, 'EQUIPMENT'
, DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,TO_NUMBER(NULL))
, TO_NUMBER(NULL) ) ) ACT_EQUIP_HOURS
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.actual_BRDN_COST, TO_NUMBER(NULL) ) ) ACT_LABOR_BRDN_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.actual_BRDN_COST, TO_NUMBER(NULL) ) ) ACT_EQUIPMENT_BRDN_COST
, SUM ( plr.actual_brdn_cost ) ACT_BRDN_COST
, SUM ( plr.actual_raw_cost ) ACT_RAW_COST
, SUM ( plr.actual_revenue ) ACT_REVENUE
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.actual_RAW_COST, TO_NUMBER(NULL) ) ) ACT_LABOR_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.actual_RAW_COST, TO_NUMBER(NULL) ) ) ACT_EQUIPMENT_RAW_COST
, TO_NUMBER(NULL) ETC_LABOR_HRS
, TO_NUMBER(NULL) ETC_EQUIP_HOURS
, 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
, plr.plan_type_code PLAN_TYPE_CODE /*4471527 */
FROM
( ----- First inline view plr .............
SELECT /*+ no_merge(collapse_bl) */
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.BUDGET_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 -- , CALENDAR_TYPE -- , CALENDAR_ID
, 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.period_name period_name
, collapse_bl.row_id
, collapse_bl.plan_type_code
FROM
( ----- Second inline view 'collapse_bl' begin .............
SELECT /*+ no_merge(spread_bl) */
spread_bl.row_id row_id
, spread_bl.PROJECT_ID
, spread_bl.BUDGET_VERSION_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.CALENDAR_TYPE -- , pji_time.CALENDAR_ID
, spread_bl.PROJECT_ORGANIZATION_ID
, spread_bl.PROJECT_ORG_ID
, spread_bl.TIME_PHASED_TYPE_CODE
, DECODE( invert.INVERT_ID
, 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
, 4, spread_bl.func_raw_cost
, 8, spread_bl.PRJ_raw_cost
, 16, spread_bl.TXN_raw_cost) raw_cost
, DECODE ( invert.INVERT_ID
, 4, spread_bl.func_BRDN_COST
, 8, spread_bl.PRJ_BRDN_COST
, 16, spread_bl.TXN_BRDN_COST ) BRDN_COST
, DECODE ( invert.INVERT_ID
, 4, spread_bl.func_revenue
, 8, spread_bl.PRJ_revenue
, 16, spread_bl.TXN_revenue ) revenue
, DECODE ( invert.INVERT_ID
, 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
, 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
, 4, spread_bl.func_actual_revenue
, 8, spread_bl.prj_actual_revenue
, 16, spread_bl.txn_actual_revenue ) actual_revenue
, DECODE ( invert.INVERT_ID
, 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
, 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
, 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.period_name period_name
-- , spread_bl.TRACK_AS_LABOR_FLAG track_as_labor_flag
, spread_bl.plan_type_code plan_type_code /*4471527 */
FROM
( ----- Third inline view 'spread_bl' .............
SELECT /*+ ordered */
ra.project_id
, bl.ROWID row_id
, ra.budget_version_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
, bl.txn_currency_code txn_currency_code
, TO_NUMBER(NULL) txn_raw_cost
, TO_NUMBER(NULL) txn_brdn_COST
, TO_NUMBER(NULL) txn_revenue
, bl.txn_init_raw_cost txn_actual_raw_cost
, bl.txn_init_burdened_cost txn_actual_brdn_cost
, bl.txn_init_revenue txn_actual_revenue
, TO_NUMBER(NULL) txn_etc_raw_cost
, TO_NUMBER(NULL) txn_etc_brdn_cost
, TO_NUMBER(NULL) txn_etc_revenue
, bl.project_currency_code prj_currency_code
, TO_NUMBER(NULL) prj_raw_cost
, TO_NUMBER(NULL) prj_BRDN_COST
, TO_NUMBER(NULL) prj_revenue
, bl.project_init_raw_cost prj_actual_raw_cost
, bl.project_init_burdened_cost prj_actual_brdn_cost
, bl.project_init_revenue prj_actual_revenue
, TO_NUMBER(NULL) prj_etc_raw_cost
, TO_NUMBER(NULL) prj_etc_brdn_cost
, TO_NUMBER(NULL) prj_etc_revenue
, bl.projfunc_currency_code func_currency_code
, TO_NUMBER(NULL) func_raw_cost
, TO_NUMBER(NULL) func_BRDN_COST
, TO_NUMBER(NULL) func_revenue
, bl.init_raw_cost func_actual_raw_cost
, bl.init_burdened_cost func_actual_brdn_cost
, bl.init_revenue func_actual_revenue
, TO_NUMBER(NULL) func_etc_raw_cost
, TO_NUMBER(NULL) func_etc_brdn_cost
, TO_NUMBER(NULL) func_etc_revenue
, 'CAD' glb1_currency_code
, TO_NUMBER(NULL) glb1_raw_cost
, TO_NUMBER(NULL) glb1_BRDN_COST
, TO_NUMBER(NULL) glb1_revenue
, 'USD' glb2_currency_code
, TO_NUMBER(NULL) glb2_raw_cost
, TO_NUMBER(NULL) glb1_BRDN_COST
, TO_NUMBER(NULL) glb1_revenue
, TO_NUMBER(NULL) quantity
, bl.init_quantity actual_quantity
, TO_NUMBER(NULL) etc_quantity
, TO_DATE(NULL) start_date
, TO_DATE(NULL) end_date
, NVL(bl.period_name, 'XXX') period_name
, ver.time_phased_type_code time_phased_type_code
, ppa.org_id project_org_id
, ppa.carrying_out_organization_id project_organization_id
, ver.plan_type_code plan_type_code /* 4471527*/
FROM
PJI_FM_EXTR_PLNVER4 ver
, PA_RESOURCE_ASSIGNMENTS ra
, PA_BUDGET_LINES bl
, PA_PROJECTS_ALL ppa
, PA_PROJ_ELEM_VER_STRUCTURE pevs
WHERE
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 pevs.project_id = ver.project_id
AND ver.secondary_rbs_flag = 'N'
AND p_extrn_type = 'FULL'
AND ver.worker_id = g_worker_id
AND ver.time_phased_type_code IN ('P', 'G', 'N')
) spread_bl
---- end of third inline view 'spread_bl'...........
,
(
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
---- End of second inline view 'collapse_bl' ..........
GROUP BY
collapse_bl.PROJECT_ID
, collapse_bl.WBS_ELEMENT_ID
-- , time_id, period_type_id, calendar type.., slice type, rollpu flag...
, collapse_bl.RBS_ELEMENT_ID
, collapse_bl.RBS_STRUCT_VERSION_ID
, collapse_bl.plan_type_id
, collapse_bl.BUDGET_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.period_name
, collapse_bl.row_id
,collapse_bl.plan_type_code
) plr
---- End of first inline view plr ..........
, PJI_ORG_EXTR_INFO orginfo
, pji_time_cal_period_v pji_time
WHERE 1=1
-- AND orginfo.projfunc_currency_mau is not TO_NUMBER(NULL
AND plr.project_org_id = orginfo.org_id
AND DECODE(plr.time_phased_type_code
, 'P', orginfo.pa_calendar_id
, 'G', orginfo.gl_calendar_id
, -p_max_project_id ) = pji_time.calendar_id
AND plr.period_name = pji_time.name
GROUP BY
plr.PROJECT_ID
, plr.PROJECT_ORG_ID
, plr.project_ORGANIZATION_ID
, plr.WBS_ELEMENT_ID
, DECODE(plr.time_phased_type_code
, 'N', -1
, pji_time.cal_period_id)
, DECODE(plr.time_phased_type_code
, 'P', 32
, 'G', 32
, 'N', 2048
, -1) -- period type id...
, DECODE(plr.time_phased_type_code
, 'P', 'P'
, 'G', 'G'
, 'N', 'A'
, 'X') -- CALENDAR_TYPE
, plr.CURR_RECORD_TYPE -- curr code missing.
, plr.currency_code
, plr.RBS_ELEMENT_ID
, plr.RBS_STRUCT_VERSION_ID
, plr.BUDGET_VERSION_ID
, plr.plan_type_id
, plr.PLAN_TYPE_CODE;
PROCEDURE PROCESS_PENDING_PLAN_UPDATES(p_max_project_id NUMBER := NULL,
p_extrn_type IN VARCHAR2,
p_extract_etc IN VARCHAR2) IS
l_return_status varchar2(1);
INSERT INTO PJI_FP_AGGR_PJP1 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
, PRG_LEVEL
, PLAN_TYPE_CODE /*4471527 */
)
SELECT /*+ ordered no_merge(plr) */
g_worker_id WORKER_ID
, plr.PROJECT_ID
, plr.PROJECT_ORG_ID
, plr.project_ORGANIZATION_ID
, plr.WBS_ELEMENT_ID project_element_id
, DECODE(plr.time_phased_type_code
, 'N', -1
, pji_time.cal_period_id) time_id
, DECODE(plr.time_phased_type_code
, 'P', 32
, 'G', 32
, 'N', 2048
, -1) period_type_id -- period type id...
, DECODE(plr.time_phased_type_code
, 'P', 'P'
, 'G', 'G'
, 'N', 'A'
, 'X') CALENDAR_TYPE
, 'L' RBS_AGGR_LEVEL
, 'N' WBS_ROLLUP_FLAG
, 'N' PRG_ROLLUP_FLAG
, plr.CURR_RECORD_TYPE CURR_RECORD_TYPE_id
, plr.currency_code
, plr.RBS_ELEMENT_ID
, plr.RBS_STRUCT_VERSION_ID RBS_VERSION_ID
, plr.BUDGET_VERSION_ID 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, 'YPEOPLE', plr.raw_cost, 0 ) ) BILL_LABOR_RAW_COST
, SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'YPEOPLE' , plr.BRDN_COST, 0 ) ) BILL_LABOR_BRDN_COST
-- , SUM ( DECODE ( plr.billable_flag || plr.resource_class , 'YPEOPLE', plr.quantity, 0 ) ) BILL_LABOR_HRS -- bug 6039785
, SUM ( DECODE ( plr.billable_flag || plr.resource_class , 'YPEOPLE',
DECODE ( plr.billable_flag ,'Y', plr.quantity, 0 ), 0 ) ) BILL_LABOR_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.raw_cost, 0 ) ) EQUIPMENT_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , 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, 'PEOPLE', plr.raw_cost, 0 ) ) LABOR_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.BRDN_COST, 0 ) ) LABOR_BRDN_COST
-- , SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.quantity, 0 ) ) labor_hrs -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE',
DECODE(plr.billable_flag , 'Y' , plr.quantity, 0 ),
0 ) ) labor_hrs -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.revenue, 0 ) ) LABOR_REVENUE
/* , SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', plr.quantity, 0 ) ) EQUIPMENT_HOURS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT',
DECODE(plr.billable_flag , 'Y' , plr.quantity, 0 ),
0 ) ) EQUIPMENT_HOURS -- bug 6039785
/* , SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'YEQUIPMENT', plr.quantity, 0 ) ) BILLABLE_EQUIPMENT_HOURS */ -- bug 6039785
, SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'YEQUIPMENT',
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.resource_class, 'PEOPLE', plr.actual_quantity, 0 ) ) ACT_LABOR_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', DECODE ( plr.billable_flag, 'Y', plr.actual_quantity , 0 ),
0 ) ) ACT_LABOR_HRS -- bug 6039785
/* , SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', plr.actual_quantity, 0 ) ) ACT_EQUIP_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', DECODE ( plr.billable_flag, 'Y', plr.actual_quantity, 0 ),
0 ) ) ACT_EQUIP_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.actual_BRDN_COST, 0 ) ) ACT_LABOR_BRDN_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.actual_BRDN_COST, 0 ) ) ACT_EQUIP_BRDN_COST
, SUM ( plr.actual_brdn_cost ) ACT_BRDN_COST
, SUM ( plr.actual_raw_cost ) ACT_RAW_COST
, SUM ( plr.actual_revenue ) ACT_REVENUE
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.actual_RAW_COST, 0 ) ) ACT_LABOR_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.actual_RAW_COST, 0 ) ) ACT_EQUIP_RAW_COST
--, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.etc_quantity, 0 ) ) ETC_LABOR_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', DECODE ( plr.billable_flag, 'Y', plr.etc_quantity, 0 ),
0 ) ) ETC_LABOR_HRS -- bug 6039785
/* , SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', plr.etc_quantity, 0 ) ) ETC_EQUIP_HRS */ -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', DECODE ( plr.billable_flag, 'Y', plr.etc_quantity, 0 ),
0 ) ) ETC_EQUIP_HRS -- bug 6039785
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.etc_BRDN_COST, 0 ) ) ETC_LABOR_BRDN_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT' , plr.etc_BRDN_COST, 0 ) ) ETC_EQUIP_BRDN_COST
, SUM(plr.etc_BRDN_COST) ETC_BRDN_COST
, SUM(plr.etc_RAW_COST) ETC_RAW_COST
, SUM ( DECODE ( plr.resource_class, 'PEOPLE', plr.etc_raw_cost, 0 ) ) ETC_LABOR_raw_COST
, SUM ( DECODE ( plr.resource_class, 'EQUIPMENT', plr.etc_raw_cost, 0 ) ) ETC_EQUIP_raw_COST
, NULL CUSTOM1
, NULL CUSTOM2
, NULL CUSTOM3
, NULL CUSTOM4
, NULL CUSTOM5
, NULL CUSTOM6
, NULL CUSTOM7
, NULL CUSTOM8
, NULL CUSTOM9
, NULL CUSTOM10
, NULL CUSTOM11
, NULL CUSTOM12
, NULL CUSTOM13
, NULL CUSTOM14
, NULL CUSTOM15
, DECODE(plr.time_phased_type_code, 'P', 'OF', 'G', 'OF', 'N', 'NTR', 'X') LINE_TYPE
, NULL time_dangling_flag
, NULL rate_dangling_flag
, g_default_prg_level prg_level
, plr.plan_type_code plan_type_code /*4471527 */
FROM
( ----- First inline view plr .............
SELECT /*+ no_merge(collapse_bl) */
collapse_bl.PROJECT_ID -- , 1 partition_id
, collapse_bl.WBS_ELEMENT_ID -- , time_id, period_type_id, calendar type.., slice type, rollpu flag...
, 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.BUDGET_VERSION_ID
, collapse_bl.PROJECT_ORGANIZATION_ID
, collapse_bl.PROJECT_ORG_ID
, collapse_bl.BILLABLE_FLAG
, collapse_bl.RESOURCE_CLASS -- , CALENDAR_TYPE -- , CALENDAR_ID
, 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.quantity) quantity
, MAX(collapse_bl.actual_quantity) actual_quantity
, MAX(collapse_bl.etc_quantity) etc_quantity
, collapse_bl.period_name period_name -- , TRACK_AS_LABOR_FLAG track_as_labor_flag
, collapse_bl.row_id
, collapse_bl.plan_type_code /*4471527 */
, collapse_bl.time_phased_type_code
FROM
( ----- Second inline view 'collapse_bl' begin .............
SELECT /*+ no_merge(spread_bl) */
spread_bl.row_id row_id
, spread_bl.PROJECT_ID
, spread_bl.BUDGET_VERSION_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.CALENDAR_TYPE -- , pji_time.CALENDAR_ID
, spread_bl.PROJECT_ORGANIZATION_ID
, spread_bl.PROJECT_ORG_ID
, DECODE( invert.INVERT_ID
, 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
, 4, spread_bl.func_raw_cost
, 8, spread_bl.PRJ_raw_cost
, 16, spread_bl.TXN_raw_cost) raw_cost
, DECODE ( invert.INVERT_ID
, 4, spread_bl.func_BRDN_COST
, 8, spread_bl.PRJ_BRDN_COST
, 16, spread_bl.TXN_BRDN_COST ) BRDN_COST
, DECODE ( invert.INVERT_ID
, 4, spread_bl.func_revenue
, 8, spread_bl.PRJ_revenue
, 16, spread_bl.TXN_revenue ) revenue
, DECODE ( invert.INVERT_ID
, 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
, 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
, 4, spread_bl.func_actual_revenue
, 8, spread_bl.prj_actual_revenue
, 16, spread_bl.txn_actual_revenue ) actual_revenue
, DECODE ( invert.INVERT_ID
, 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
, 4, spread_bl.func_etc_brdn_cost
, 8, spread_bl.prj_etc_brdn_cost
, 16, spread_bl.txn_etc_brdn_cost ) etc_brdn_cost
, spread_bl.quantity quantity
, spread_bl.actual_quantity actual_quantity
, spread_bl.etc_quantity etc_quantity
, spread_bl.period_name period_name
, spread_bl.plan_type_code plan_type_code /*4471527 */
, spread_bl.time_phased_type_code
FROM
( ----- Third inline view 'spread_bl' .............
SELECT /*+ ordered */
bl.project_id
, bl.ROWID row_id
, bl.plan_version_id budget_version_id
, DECODE(bl.project_element_id, 0, pevs.proj_element_id, bl.project_element_id) wbs_element_id
, NVL(bl.rbs_element_id, -1) rbs_element_id
, bl.struct_ver_id wbs_struct_version_id
, NVL(ver.rbs_struct_version_id, -1) rbs_struct_version_id
, bl.plan_type_id plan_type_id -- ver.plan_type_id
, bl.rate_based_flag billable_flag -- ra.rate_based_flag billable_flag
, bl.resource_class_code resource_class -- ra.resource_class_code resource_class
, bl.txn_currency_code txn_currency_code
, TO_NUMBER(NULL) txn_raw_cost -- bl.txn_raw_cost
, TO_NUMBER(NULL) txn_BRDN_COST -- bl.txn_burdened_cost
, TO_NUMBER(NULL) txn_revenue -- bl.txn_revenue
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_txn_raw_cost) txn_actual_raw_cost
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_txn_burdened_cost) txn_actual_brdn_cost
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_txn_revenue) txn_actual_revenue
, DECODE(p_extrn_type||p_extract_etc
, 'FULLN'
, TO_NUMBER(NULL)
, bl.etc_txn_raw_cost) txn_etc_raw_cost
, DECODE(p_extrn_type||p_extract_etc
, 'FULLN'
, TO_NUMBER(NULL)
, bl.etc_txn_burdened_cost) txn_etc_brdn_cost
, bl.prj_currency_code prj_currency_code
, TO_NUMBER(NULL) prj_raw_cost -- bl.prj_raw_cost
, TO_NUMBER(NULL) prj_BRDN_COST -- bl.prj_burdened_cost
, TO_NUMBER(NULL) prj_revenue -- bl.prj_revenue
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_prj_raw_cost) prj_actual_raw_cost
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_prj_burdened_cost) prj_actual_brdn_cost
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_prj_revenue) prj_actual_revenue
, DECODE(p_extrn_type||p_extract_etc
, 'FULLN'
, TO_NUMBER(NULL)
, bl.etc_prj_raw_cost) prj_etc_raw_cost
, DECODE(p_extrn_type||p_extract_etc
, 'FULLN'
, TO_NUMBER(NULL)
, bl.etc_prj_burdened_cost) prj_etc_brdn_cost
, bl.pfc_currency_code func_currency_code
, TO_NUMBER(NULL) func_raw_cost -- bl.pfc_raw_cost
, TO_NUMBER(NULL) func_BRDN_COST -- bl.pfc_burdened_cost
, TO_NUMBER(NULL) func_revenue -- bl.pfc_revenue
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_pfc_raw_cost) func_actual_raw_cost
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_pfc_burdened_cost) func_actual_brdn_cost
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_pfc_revenue) func_actual_revenue
, DECODE(p_extrn_type||p_extract_etc
, 'FULLN'
, TO_NUMBER(NULL)
, bl.etc_pfc_raw_cost) func_etc_raw_cost
, DECODE(p_extrn_type||p_extract_etc
, 'FULLN'
, TO_NUMBER(NULL)
, bl.etc_pfc_burdened_cost) func_etc_brdn_cost
, TO_NUMBER(NULL) quantity -- bl.quantity
, DECODE(p_extrn_type, 'FULL', TO_NUMBER(NULL), bl.act_quantity) actual_quantity
, DECODE(p_extrn_type||p_extract_etc
, 'FULLN'
, TO_NUMBER(NULL)
, bl.etc_quantity) etc_quantity
, NVL(bl.period_name, 'XXX') period_name
, bl.project_org_id project_org_id
, ppa.carrying_out_organization_id project_organization_id
, ver.plan_type_code plan_type_code /*4471527 */
, ver.time_phased_type_code
FROM
PJI_FM_EXTR_PLNVER4 ver
, PJI_FM_EXTR_PLAN_LINES bl
, PA_PROJECTS_ALL ppa
, PA_PROJ_ELEM_VER_STRUCTURE pevs
WHERE 1=1
AND ver.wp_flag = 'Y'
AND bl.project_id = ver.project_id
AND bl.plan_version_id = ver.plan_version_id
AND bl.plan_type_id = ver.plan_type_id
AND ppa.project_id = ver.project_id
AND bl.project_id = ppa.project_id
AND bl.TXN_CURRENCY_CODE IS NOT NULL
AND bl.prj_currency_code IS NOT NULL
AND bl.pfc_currency_code IS NOT NULL
AND pevs.element_version_id = ver.wbs_struct_version_id
AND pevs.project_id = ver.project_id
AND ver.worker_id = g_worker_id
AND ver.time_phased_type_code IN ('P', 'G', 'N')
) spread_bl
---- end of third inline view 'spread_bl'...........
,
(
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
---- End of second inline view 'collapse_bl' ..........
GROUP BY
collapse_bl.PROJECT_ID
, collapse_bl.WBS_ELEMENT_ID
, collapse_bl.RBS_ELEMENT_ID
, collapse_bl.RBS_STRUCT_VERSION_ID
, collapse_bl.plan_type_id
, collapse_bl.BUDGET_VERSION_ID
, collapse_bl.PROJECT_ORGANIZATION_ID
, collapse_bl.PROJECT_ORG_ID
, collapse_bl.BILLABLE_FLAG
, collapse_bl.RESOURCE_CLASS
, collapse_bl.CURRENCY_CODE
, collapse_bl.period_name
, collapse_bl.row_id
, collapse_bl.plan_type_code
, collapse_bl.time_phased_type_code
) plr
---- End of first inline view plr ..........
, PJI_ORG_EXTR_INFO orginfo
, pji_time_cal_period_v pji_time
WHERE 1=1
-- AND orginfo.projfunc_currency_mau is not NULL
AND plr.project_org_id = orginfo.org_id
AND DECODE(plr.time_phased_type_code
, 'P', orginfo.pa_calendar_id
, 'G', orginfo.gl_calendar_id
, - p_max_project_id ) = pji_time.calendar_id
AND plr.period_name = pji_time.name
GROUP BY
plr.PROJECT_ID
, plr.PROJECT_ORG_ID
, plr.project_ORGANIZATION_ID
, plr.WBS_ELEMENT_ID
, DECODE(plr.time_phased_type_code
, 'N', -1
, pji_time.cal_period_id)
, DECODE(plr.time_phased_type_code
, 'P', 32
, 'G', 32
, 'N', 2048
, -1) -- period type id...
, DECODE(plr.time_phased_type_code
, 'P', 'P'
, 'G', 'G'
, 'N', 'A'
, 'X') -- CALENDAR_TYPE
, plr.CURR_RECORD_TYPE -- curr code missing.
, plr.currency_code
, plr.RBS_ELEMENT_ID
, plr.RBS_STRUCT_VERSION_ID
, plr.BUDGET_VERSION_ID
, plr.plan_type_id
, DECODE(plr.time_phased_type_code, 'P', 'OF', 'G', 'OF', 'N', 'NTR', 'X')
, plr.plan_type_code ; /*4471527 */
, p_procedure_name => ' PROCESS_PENDING_PLAN_UPDATES '
, x_return_status => l_return_status ) ;
END PROCESS_PENDING_PLAN_UPDATES;
insert into PJI_FP_AGGR_PJP0 pjp0_i
(
WORKER_ID,
TXN_ACCUM_HEADER_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
)
select
src.WORKER_ID,
src.TXN_ACCUM_HEADER_ID,
src.PROJECT_ID,
src.PROJECT_ORG_ID,
src.PROJECT_ORGANIZATION_ID,
src.PROJECT_ELEMENT_ID,
src.TIME_ID,
src.PERIOD_TYPE_ID,
src.CALENDAR_TYPE,
src.RBS_AGGR_LEVEL,
src.WBS_ROLLUP_FLAG,
src.PRG_ROLLUP_FLAG,
src.CURR_RECORD_TYPE_ID,
src.CURRENCY_CODE,
src.RBS_ELEMENT_ID,
src.RBS_VERSION_ID,
src.PLAN_VERSION_ID,
src.PLAN_TYPE_ID,
sum(src.RAW_COST) RAW_COST,
sum(src.BRDN_COST) BRDN_COST,
sum(src.REVENUE) REVENUE,
sum(decode(src.PROJECT_TYPE_CLASS, 'B',
src.BILL_RAW_COST, to_number(null))) BILL_RAW_COST,
sum(decode(src.PROJECT_TYPE_CLASS, 'B',
src.BILL_BRDN_COST, to_number(null)))BILL_BRDN_COST,
sum(decode(src.PROJECT_TYPE_CLASS || '_' ||
cls.RESOURCE_CLASS_CODE, 'B_PEOPLE',
src.BILL_RAW_COST, to_number(null))) BILL_LABOR_RAW_COST,
sum(decode(src.PROJECT_TYPE_CLASS || '_' ||
cls.RESOURCE_CLASS_CODE, 'B_PEOPLE',
src.BILL_BRDN_COST, to_number(null)))BILL_LABOR_BRDN_COST,
sum(decode(src.PROJECT_TYPE_CLASS || '_' ||
cls.RESOURCE_CLASS_CODE, 'B_PEOPLE',
src.BILL_QUANTITY, to_number(null))) BILL_LABOR_HRS,
sum(decode(cls.RESOURCE_CLASS_CODE, 'EQUIPMENT',
src.RAW_COST, to_number(null))) EQUIPMENT_RAW_COST,
sum(decode(cls.RESOURCE_CLASS_CODE, 'EQUIPMENT',
src.BRDN_COST, to_number(null))) EQUIPMENT_BRDN_COST,
sum(decode(src.PROJECT_TYPE_CLASS, 'C',
src.BILL_RAW_COST, to_number(null))) CAPITALIZABLE_RAW_COST,
sum(decode(src.PROJECT_TYPE_CLASS, 'C',
src.BILL_BRDN_COST, to_number(null)))CAPITALIZABLE_BRDN_COST,
sum(decode(cls.RESOURCE_CLASS_CODE, 'PEOPLE',
src.RAW_COST, to_number(null))) LABOR_RAW_COST,
sum(decode(cls.RESOURCE_CLASS_CODE, 'PEOPLE',
src.BRDN_COST, to_number(null))) LABOR_BRDN_COST,
sum(decode(cls.RESOURCE_CLASS_CODE, 'PEOPLE',
src.QUANTITY, to_number(null))) LABOR_HRS,
sum(decode(cls.RESOURCE_CLASS_CODE, 'PEOPLE',
src.REVENUE, to_number(null))) LABOR_REVENUE,
sum(decode(cls.RESOURCE_CLASS_CODE, 'EQUIPMENT',
src.QUANTITY, to_number(null))) EQUIPMENT_HOURS,
sum(decode(cls.RESOURCE_CLASS_CODE, 'EQUIPMENT',
src.BILL_QUANTITY, to_number(null))) BILLABLE_EQUIPMENT_HOURS,
sum(src.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
sum(src.PO_COMMITTED_COST) PO_COMMITTED_COST,
sum(src.PR_COMMITTED_COST) PR_COMMITTED_COST,
sum(src.OTH_COMMITTED_COST) OTH_COMMITTED_COST
from
(
select
src3.WORKER_ID,
src3.TXN_ACCUM_HEADER_ID,
src3.RESOURCE_CLASS_ID,
src3.PROJECT_ID,
src3.PROJECT_ORG_ID,
src3.PROJECT_ORGANIZATION_ID,
src3.PROJECT_TYPE_CLASS,
src3.PROJECT_ELEMENT_ID,
src3.TIME_ID,
src3.PERIOD_TYPE_ID,
src3.CALENDAR_TYPE,
src3.RBS_AGGR_LEVEL,
src3.WBS_ROLLUP_FLAG,
src3.PRG_ROLLUP_FLAG,
sum(src3.CURR_RECORD_TYPE_ID) CURR_RECORD_TYPE_ID,
nvl(src3.CURRENCY_CODE, 'PJI$NULL') CURRENCY_CODE,
src3.RBS_ELEMENT_ID,
src3.RBS_VERSION_ID,
src3.PLAN_VERSION_ID,
src3.PLAN_TYPE_ID,
max(src3.RAW_COST) RAW_COST,
max(src3.BRDN_COST) BRDN_COST,
max(src3.REVENUE) REVENUE,
max(src3.BILL_RAW_COST) BILL_RAW_COST,
max(src3.BILL_BRDN_COST) BILL_BRDN_COST,
max(src3.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
max(src3.PO_COMMITTED_COST) PO_COMMITTED_COST,
max(src3.PR_COMMITTED_COST) PR_COMMITTED_COST,
max(src3.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
max(src3.QUANTITY) QUANTITY,
max(src3.BILL_QUANTITY) BILL_QUANTITY
from
(
select /*+ ordered */
p_worker_id WORKER_ID,
src.TXN_ACCUM_HEADER_ID,
src.RESOURCE_CLASS_ID,
src.PROJECT_ID,
src.PROJECT_ORG_ID,
map.PROJECT_ORGANIZATION_ID,
src.PROJECT_TYPE_CLASS,
decode(src.TASK_ID,
-1, ver.PROJ_ELEMENT_ID,
src.TASK_ID) PROJECT_ELEMENT_ID,
src.RECVR_PERIOD_ID TIME_ID,
32 PERIOD_TYPE_ID,
decode(src.RECVR_PERIOD_TYPE,
'ENT', 'E',
'GL', 'G',
'PA', 'P') CALENDAR_TYPE,
'L' RBS_AGGR_LEVEL,
'N' WBS_ROLLUP_FLAG,
'N' PRG_ROLLUP_FLAG,
invert.INVERT_ID CURR_RECORD_TYPE_ID,
decode(invert.INVERT_ID,
1, p_g1_currency_code,
2, p_g2_currency_code,
4, info.PF_CURRENCY_CODE,
8, map.PRJ_CURRENCY_CODE,
16, src.TXN_CURRENCY_CODE,
32, p_g1_currency_code,
64, p_g2_currency_code,
128, info.PF_CURRENCY_CODE,
256, map.PRJ_CURRENCY_CODE) DIFF_CURRENCY_CODE,
DIFF_ROWNUM DIFF_ROWNUM,
decode(invert.INVERT_ID,
1, p_g1_currency_code,
2, p_g2_currency_code,
4, info.PF_CURRENCY_CODE,
8, map.PRJ_CURRENCY_CODE,
16, src.TXN_CURRENCY_CODE,
32, src.TXN_CURRENCY_CODE,
64, src.TXN_CURRENCY_CODE,
128, src.TXN_CURRENCY_CODE,
256, src.TXN_CURRENCY_CODE) CURRENCY_CODE,
nvl(rbs.ELEMENT_ID, -1) RBS_ELEMENT_ID,
src.RBS_VERSION_ID,
-1 PLAN_VERSION_ID,
-1 PLAN_TYPE_ID,
decode(invert.INVERT_ID,
1, src.G1_RAW_COST,
2, src.G2_RAW_COST,
4, src.POU_RAW_COST,
8, src.PRJ_RAW_COST,
16, src.TXN_RAW_COST,
32, src.G1_RAW_COST,
64, src.G2_RAW_COST,
128, src.POU_RAW_COST,
256, src.PRJ_RAW_COST) RAW_COST,
decode(invert.INVERT_ID,
1, src.G1_BRDN_COST,
2, src.G2_BRDN_COST,
4, src.POU_BRDN_COST,
8, src.PRJ_BRDN_COST,
16, src.TXN_BRDN_COST,
32, src.G1_BRDN_COST,
64, src.G2_BRDN_COST,
128, src.POU_BRDN_COST,
256, src.PRJ_BRDN_COST) BRDN_COST,
decode(invert.INVERT_ID,
1, src.G1_REVENUE,
2, src.G2_REVENUE,
4, src.POU_REVENUE,
8, src.PRJ_REVENUE,
16, src.TXN_REVENUE,
32, src.G1_REVENUE,
64, src.G2_REVENUE,
128, src.POU_REVENUE,
256, src.PRJ_REVENUE) REVENUE,
decode(invert.INVERT_ID,
1, src.G1_BILL_RAW_COST,
2, src.G2_BILL_RAW_COST,
4, src.POU_BILL_RAW_COST,
8, src.PRJ_BILL_RAW_COST,
16, src.TXN_BILL_RAW_COST,
32, src.G1_BILL_RAW_COST,
64, src.G2_BILL_RAW_COST,
128, src.POU_BILL_RAW_COST,
256, src.PRJ_BILL_RAW_COST) BILL_RAW_COST,
decode(invert.INVERT_ID,
1, src.G1_BILL_BRDN_COST,
2, src.G2_BILL_BRDN_COST,
4, src.POU_BILL_BRDN_COST,
8, src.PRJ_BILL_BRDN_COST,
16, src.TXN_BILL_BRDN_COST,
32, src.G1_BILL_BRDN_COST,
64, src.G2_BILL_BRDN_COST,
128, src.POU_BILL_BRDN_COST,
256, src.PRJ_BILL_BRDN_COST) BILL_BRDN_COST,
decode(invert.INVERT_ID,
1, src.G1_SUP_INV_COMMITTED_COST,
2, src.G2_SUP_INV_COMMITTED_COST,
4, src.POU_SUP_INV_COMMITTED_COST,
8, src.PRJ_SUP_INV_COMMITTED_COST,
16, src.TXN_SUP_INV_COMMITTED_COST,
32, src.G1_SUP_INV_COMMITTED_COST,
64, src.G2_SUP_INV_COMMITTED_COST,
128, src.POU_SUP_INV_COMMITTED_COST,
256, src.PRJ_SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
decode(invert.INVERT_ID,
1, src.G1_PO_COMMITTED_COST,
2, src.G2_PO_COMMITTED_COST,
4, src.POU_PO_COMMITTED_COST,
8, src.PRJ_PO_COMMITTED_COST,
16, src.TXN_PO_COMMITTED_COST,
32, src.G1_PO_COMMITTED_COST,
64, src.G2_PO_COMMITTED_COST,
128, src.POU_PO_COMMITTED_COST,
256, src.PRJ_PO_COMMITTED_COST) PO_COMMITTED_COST,
decode(invert.INVERT_ID,
1, src.G1_PR_COMMITTED_COST,
2, src.G2_PR_COMMITTED_COST,
4, src.POU_PR_COMMITTED_COST,
8, src.PRJ_PR_COMMITTED_COST,
16, src.TXN_PR_COMMITTED_COST,
32, src.G1_PR_COMMITTED_COST,
64, src.G2_PR_COMMITTED_COST,
128, src.POU_PR_COMMITTED_COST,
256, src.PRJ_PR_COMMITTED_COST) PR_COMMITTED_COST,
decode(invert.INVERT_ID,
1, src.G1_OTH_COMMITTED_COST,
2, src.G2_OTH_COMMITTED_COST,
4, src.POU_OTH_COMMITTED_COST,
8, src.PRJ_OTH_COMMITTED_COST,
16, src.TXN_OTH_COMMITTED_COST,
32, src.G1_OTH_COMMITTED_COST,
64, src.G2_OTH_COMMITTED_COST,
128, src.POU_OTH_COMMITTED_COST,
256, src.PRJ_OTH_COMMITTED_COST) OTH_COMMITTED_COST,
src.QUANTITY,
src.BILL_QUANTITY
from
(
select
ROWNUM DIFF_ROWNUM,
src2.TXN_ACCUM_HEADER_ID,
src2.RESOURCE_CLASS_ID,
src2.PROJECT_ID,
src2.PROJECT_ORG_ID,
src2.PROJECT_ORGANIZATION_ID,
src2.PROJECT_TYPE_CLASS,
src2.TASK_ID,
src2.RECVR_PERIOD_TYPE,
src2.RECVR_PERIOD_ID,
src2.RBS_VERSION_ID,
src2.TXN_CURRENCY_CODE,
src2.TXN_RAW_COST,
src2.TXN_BILL_RAW_COST,
src2.TXN_BRDN_COST,
src2.TXN_BILL_BRDN_COST,
src2.TXN_REVENUE,
src2.TXN_SUP_INV_COMMITTED_COST,
src2.TXN_PO_COMMITTED_COST,
src2.TXN_PR_COMMITTED_COST,
src2.TXN_OTH_COMMITTED_COST,
src2.PRJ_RAW_COST,
src2.PRJ_BILL_RAW_COST,
src2.PRJ_BRDN_COST,
src2.PRJ_BILL_BRDN_COST,
src2.PRJ_REVENUE,
src2.PRJ_SUP_INV_COMMITTED_COST,
src2.PRJ_PO_COMMITTED_COST,
src2.PRJ_PR_COMMITTED_COST,
src2.PRJ_OTH_COMMITTED_COST,
src2.POU_RAW_COST,
src2.POU_BILL_RAW_COST,
src2.POU_BRDN_COST,
src2.POU_BILL_BRDN_COST,
src2.POU_REVENUE,
src2.POU_SUP_INV_COMMITTED_COST,
src2.POU_PO_COMMITTED_COST,
src2.POU_PR_COMMITTED_COST,
src2.POU_OTH_COMMITTED_COST,
src2.EOU_RAW_COST,
src2.EOU_BILL_RAW_COST,
src2.EOU_BRDN_COST,
src2.EOU_BILL_BRDN_COST,
src2.EOU_SUP_INV_COMMITTED_COST,
src2.EOU_PO_COMMITTED_COST,
src2.EOU_PR_COMMITTED_COST,
src2.EOU_OTH_COMMITTED_COST,
src2.G1_RAW_COST,
src2.G1_BILL_RAW_COST,
src2.G1_BRDN_COST,
src2.G1_BILL_BRDN_COST,
src2.G1_REVENUE,
src2.G1_SUP_INV_COMMITTED_COST,
src2.G1_PO_COMMITTED_COST,
src2.G1_PR_COMMITTED_COST,
src2.G1_OTH_COMMITTED_COST,
src2.G2_RAW_COST,
src2.G2_BILL_RAW_COST,
src2.G2_BRDN_COST,
src2.G2_BILL_BRDN_COST,
src2.G2_REVENUE,
src2.G2_SUP_INV_COMMITTED_COST,
src2.G2_PO_COMMITTED_COST,
src2.G2_PR_COMMITTED_COST,
src2.G2_OTH_COMMITTED_COST,
src2.QUANTITY,
src2.BILL_QUANTITY
from
(
select
src1.TXN_ACCUM_HEADER_ID,
src1.RESOURCE_CLASS_ID,
src1.PROJECT_ID,
src1.PROJECT_ORG_ID,
src1.PROJECT_ORGANIZATION_ID,
src1.PROJECT_TYPE_CLASS,
src1.TASK_ID,
src1.RECVR_PERIOD_TYPE,
src1.RECVR_PERIOD_ID,
src1.RBS_VERSION_ID,
src1.TXN_CURRENCY_CODE,
sum(src1.TXN_RAW_COST) TXN_RAW_COST,
sum(src1.TXN_BILL_RAW_COST) TXN_BILL_RAW_COST,
sum(src1.TXN_BRDN_COST) TXN_BRDN_COST,
sum(src1.TXN_BILL_BRDN_COST) TXN_BILL_BRDN_COST,
sum(src1.TXN_REVENUE) TXN_REVENUE,
sum(src1.TXN_SUP_INV_COMMITTED_COST) TXN_SUP_INV_COMMITTED_COST,
sum(src1.TXN_PO_COMMITTED_COST) TXN_PO_COMMITTED_COST,
sum(src1.TXN_PR_COMMITTED_COST) TXN_PR_COMMITTED_COST,
sum(src1.TXN_OTH_COMMITTED_COST) TXN_OTH_COMMITTED_COST,
sum(src1.PRJ_RAW_COST) PRJ_RAW_COST,
sum(src1.PRJ_BILL_RAW_COST) PRJ_BILL_RAW_COST,
sum(src1.PRJ_BRDN_COST) PRJ_BRDN_COST,
sum(src1.PRJ_BILL_BRDN_COST) PRJ_BILL_BRDN_COST,
sum(src1.PRJ_REVENUE) PRJ_REVENUE,
sum(src1.PRJ_SUP_INV_COMMITTED_COST) PRJ_SUP_INV_COMMITTED_COST,
sum(src1.PRJ_PO_COMMITTED_COST) PRJ_PO_COMMITTED_COST,
sum(src1.PRJ_PR_COMMITTED_COST) PRJ_PR_COMMITTED_COST,
sum(src1.PRJ_OTH_COMMITTED_COST) PRJ_OTH_COMMITTED_COST,
sum(src1.POU_RAW_COST) POU_RAW_COST,
sum(src1.POU_BILL_RAW_COST) POU_BILL_RAW_COST,
sum(src1.POU_BRDN_COST) POU_BRDN_COST,
sum(src1.POU_BILL_BRDN_COST) POU_BILL_BRDN_COST,
sum(src1.POU_REVENUE) POU_REVENUE,
sum(src1.POU_SUP_INV_COMMITTED_COST) POU_SUP_INV_COMMITTED_COST,
sum(src1.POU_PO_COMMITTED_COST) POU_PO_COMMITTED_COST,
sum(src1.POU_PR_COMMITTED_COST) POU_PR_COMMITTED_COST,
sum(src1.POU_OTH_COMMITTED_COST) POU_OTH_COMMITTED_COST,
sum(src1.EOU_RAW_COST) EOU_RAW_COST,
sum(src1.EOU_BILL_RAW_COST) EOU_BILL_RAW_COST,
sum(src1.EOU_BRDN_COST) EOU_BRDN_COST,
sum(src1.EOU_BILL_BRDN_COST) EOU_BILL_BRDN_COST,
sum(src1.EOU_SUP_INV_COMMITTED_COST) EOU_SUP_INV_COMMITTED_COST,
sum(src1.EOU_PO_COMMITTED_COST) EOU_PO_COMMITTED_COST,
sum(src1.EOU_PR_COMMITTED_COST) EOU_PR_COMMITTED_COST,
sum(src1.EOU_OTH_COMMITTED_COST) EOU_OTH_COMMITTED_COST,
sum(src1.G1_RAW_COST) G1_RAW_COST,
sum(src1.G1_BILL_RAW_COST) G1_BILL_RAW_COST,
sum(src1.G1_BRDN_COST) G1_BRDN_COST,
sum(src1.G1_BILL_BRDN_COST) G1_BILL_BRDN_COST,
sum(src1.G1_REVENUE) G1_REVENUE,
sum(src1.G1_SUP_INV_COMMITTED_COST) G1_SUP_INV_COMMITTED_COST,
sum(src1.G1_PO_COMMITTED_COST) G1_PO_COMMITTED_COST,
sum(src1.G1_PR_COMMITTED_COST) G1_PR_COMMITTED_COST,
sum(src1.G1_OTH_COMMITTED_COST) G1_OTH_COMMITTED_COST,
sum(src1.G2_RAW_COST) G2_RAW_COST,
sum(src1.G2_BILL_RAW_COST) G2_BILL_RAW_COST,
sum(src1.G2_BRDN_COST) G2_BRDN_COST,
sum(src1.G2_BILL_BRDN_COST) G2_BILL_BRDN_COST,
sum(src1.G2_REVENUE) G2_REVENUE,
sum(src1.G2_SUP_INV_COMMITTED_COST) G2_SUP_INV_COMMITTED_COST,
sum(src1.G2_PO_COMMITTED_COST) G2_PO_COMMITTED_COST,
sum(src1.G2_PR_COMMITTED_COST) G2_PR_COMMITTED_COST,
sum(src1.G2_OTH_COMMITTED_COST) G2_OTH_COMMITTED_COST,
sum(src1.QUANTITY) QUANTITY,
sum(src1.BILL_QUANTITY) BILL_QUANTITY
from
(
select -- initial actuals data
bal.TXN_ACCUM_HEADER_ID,
bal.RESOURCE_CLASS_ID,
bal.PROJECT_ID,
bal.PROJECT_ORG_ID,
bal.PROJECT_ORGANIZATION_ID,
bal.PROJECT_TYPE_CLASS,
nvl(bal.TASK_ID, -1) TASK_ID,
bal.RECVR_PERIOD_TYPE,
bal.RECVR_PERIOD_ID,
nvl(rbs_hdr.RBS_VERSION_ID, -1) RBS_VERSION_ID,
bal.TXN_CURRENCY_CODE,
bal.TXN_RAW_COST,
bal.TXN_BILL_RAW_COST,
bal.TXN_BRDN_COST,
bal.TXN_BILL_BRDN_COST,
bal.TXN_REVENUE,
to_number(null) TXN_SUP_INV_COMMITTED_COST,
to_number(null) TXN_PO_COMMITTED_COST,
to_number(null) TXN_PR_COMMITTED_COST,
to_number(null) TXN_OTH_COMMITTED_COST,
bal.PRJ_RAW_COST,
bal.PRJ_BILL_RAW_COST,
bal.PRJ_BRDN_COST,
bal.PRJ_BILL_BRDN_COST,
bal.PRJ_REVENUE,
to_number(null) PRJ_SUP_INV_COMMITTED_COST,
to_number(null) PRJ_PO_COMMITTED_COST,
to_number(null) PRJ_PR_COMMITTED_COST,
to_number(null) PRJ_OTH_COMMITTED_COST,
bal.POU_RAW_COST,
bal.POU_BILL_RAW_COST,
bal.POU_BRDN_COST,
bal.POU_BILL_BRDN_COST,
bal.POU_REVENUE,
to_number(null) POU_SUP_INV_COMMITTED_COST,
to_number(null) POU_PO_COMMITTED_COST,
to_number(null) POU_PR_COMMITTED_COST,
to_number(null) POU_OTH_COMMITTED_COST,
bal.EOU_RAW_COST,
bal.EOU_BILL_RAW_COST,
bal.EOU_BRDN_COST,
bal.EOU_BILL_BRDN_COST,
to_number(null) EOU_SUP_INV_COMMITTED_COST,
to_number(null) EOU_PO_COMMITTED_COST,
to_number(null) EOU_PR_COMMITTED_COST,
to_number(null) EOU_OTH_COMMITTED_COST,
bal.G1_RAW_COST,
bal.G1_BILL_RAW_COST,
bal.G1_BRDN_COST,
bal.G1_BILL_BRDN_COST,
bal.G1_REVENUE,
to_number(null) G1_SUP_INV_COMMITTED_COST,
to_number(null) G1_PO_COMMITTED_COST,
to_number(null) G1_PR_COMMITTED_COST,
to_number(null) G1_OTH_COMMITTED_COST,
bal.G2_RAW_COST,
bal.G2_BILL_RAW_COST,
bal.G2_BRDN_COST,
bal.G2_BILL_BRDN_COST,
bal.G2_REVENUE,
to_number(null) G2_SUP_INV_COMMITTED_COST,
to_number(null) G2_PO_COMMITTED_COST,
to_number(null) G2_PR_COMMITTED_COST,
to_number(null) G2_OTH_COMMITTED_COST,
bal.QUANTITY,
bal.BILL_QUANTITY
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_FP_TXN_ACCUM bal,
PJI_PJP_RBS_HEADER rbs_hdr
where
p_extraction_type in ('FULL', 'PARTIAL') and
map.WORKER_ID = p_worker_id and
bal.PROJECT_ID = map.PROJECT_ID and
bal.PROJECT_ID = rbs_hdr.PROJECT_ID and
-1 = rbs_hdr.PLAN_VERSION_ID
union all -- initial commitments data
select
bal.TXN_ACCUM_HEADER_ID,
to_number(null) RESOURCE_CLASS_ID,
bal.PROJECT_ID,
bal.PROJECT_ORG_ID,
bal.PROJECT_ORGANIZATION_ID,
to_char(null) PROJECT_TYPE_CLASS,
nvl(bal.TASK_ID, -1) TASK_ID,
bal.RECVR_PERIOD_TYPE,
bal.RECVR_PERIOD_ID,
nvl(rbs_hdr.RBS_VERSION_ID, -1) RBS_VERSION_ID,
bal.TXN_CURRENCY_CODE,
to_number(null) TXN_RAW_COST,
to_number(null) TXN_BILL_RAW_COST,
to_number(null) TXN_BRDN_COST,
to_number(null) TXN_BILL_BRDN_COST,
to_number(null) TXN_REVENUE,
bal.TXN_SUP_INV_COMMITTED_COST,
bal.TXN_PO_COMMITTED_COST,
bal.TXN_PR_COMMITTED_COST,
bal.TXN_OTH_COMMITTED_COST,
to_number(null) PRJ_RAW_COST,
to_number(null) PRJ_BILL_RAW_COST,
to_number(null) PRJ_BRDN_COST,
to_number(null) PRJ_BILL_BRDN_COST,
to_number(null) PRJ_REVENUE,
bal.PRJ_SUP_INV_COMMITTED_COST,
bal.PRJ_PO_COMMITTED_COST,
bal.PRJ_PR_COMMITTED_COST,
bal.PRJ_OTH_COMMITTED_COST,
to_number(null) POU_RAW_COST,
to_number(null) POU_BILL_RAW_COST,
to_number(null) POU_BRDN_COST,
to_number(null) POU_BILL_BRDN_COST,
to_number(null) POU_REVENUE,
bal.POU_SUP_INV_COMMITTED_COST,
bal.POU_PO_COMMITTED_COST,
bal.POU_PR_COMMITTED_COST,
bal.POU_OTH_COMMITTED_COST,
to_number(null) EOU_RAW_COST,
to_number(null) EOU_BILL_RAW_COST,
to_number(null) EOU_BRDN_COST,
to_number(null) EOU_BILL_BRDN_COST,
bal.EOU_SUP_INV_COMMITTED_COST,
bal.EOU_PO_COMMITTED_COST,
bal.EOU_PR_COMMITTED_COST,
bal.EOU_OTH_COMMITTED_COST,
to_number(null) G1_RAW_COST,
to_number(null) G1_BILL_RAW_COST,
to_number(null) G1_BRDN_COST,
to_number(null) G1_BILL_BRDN_COST,
to_number(null) G1_REVENUE,
bal.G1_SUP_INV_COMMITTED_COST,
bal.G1_PO_COMMITTED_COST,
bal.G1_PR_COMMITTED_COST,
bal.G1_OTH_COMMITTED_COST,
to_number(null) G2_RAW_COST,
to_number(null) G2_BILL_RAW_COST,
to_number(null) G2_BRDN_COST,
to_number(null) G2_BILL_BRDN_COST,
to_number(null) G2_REVENUE,
bal.G2_SUP_INV_COMMITTED_COST,
bal.G2_PO_COMMITTED_COST,
bal.G2_PR_COMMITTED_COST,
bal.G2_OTH_COMMITTED_COST,
to_number(null) QUANTITY,
to_number(null) BILL_QUANTITY
from
PJI_PJP_PROJ_BATCH_MAP map,
PJI_FP_TXN_ACCUM1 bal,
PJI_PJP_RBS_HEADER rbs_hdr
where
p_extraction_type in ('FULL', 'PARTIAL') and
map.WORKER_ID = p_worker_id and
bal.PROJECT_ID = map.PROJECT_ID and
bal.PROJECT_ID = rbs_hdr.PROJECT_ID and
-1 = rbs_hdr.PLAN_VERSION_ID
union all -- incremental data
select
tmp7.TXN_ACCUM_HEADER_ID,
tmp7.RESOURCE_CLASS_ID,
tmp7.PROJECT_ID,
tmp7.PROJECT_ORG_ID,
tmp7.PROJECT_ORGANIZATION_ID,
tmp7.PROJECT_TYPE_CLASS,
nvl(tmp7.TASK_ID, -1) TASK_ID,
tmp7.RECVR_PERIOD_TYPE,
tmp7.RECVR_PERIOD_ID,
nvl(rbs_hdr.RBS_VERSION_ID, -1) RBS_VERSION_ID,
tmp7.TXN_CURRENCY_CODE,
tmp7.TXN_RAW_COST,
tmp7.TXN_BILL_RAW_COST,
tmp7.TXN_BRDN_COST,
tmp7.TXN_BILL_BRDN_COST,
tmp7.TXN_REVENUE,
tmp7.TXN_SUP_INV_COMMITTED_COST,
tmp7.TXN_PO_COMMITTED_COST,
tmp7.TXN_PR_COMMITTED_COST,
tmp7.TXN_OTH_COMMITTED_COST,
tmp7.PRJ_RAW_COST,
tmp7.PRJ_BILL_RAW_COST,
tmp7.PRJ_BRDN_COST,
tmp7.PRJ_BILL_BRDN_COST,
tmp7.PRJ_REVENUE,
tmp7.PRJ_SUP_INV_COMMITTED_COST,
tmp7.PRJ_PO_COMMITTED_COST,
tmp7.PRJ_PR_COMMITTED_COST,
tmp7.PRJ_OTH_COMMITTED_COST,
tmp7.POU_RAW_COST,
tmp7.POU_BILL_RAW_COST,
tmp7.POU_BRDN_COST,
tmp7.POU_BILL_BRDN_COST,
tmp7.POU_REVENUE,
tmp7.POU_SUP_INV_COMMITTED_COST,
tmp7.POU_PO_COMMITTED_COST,
tmp7.POU_PR_COMMITTED_COST,
tmp7.POU_OTH_COMMITTED_COST,
tmp7.EOU_RAW_COST,
tmp7.EOU_BILL_RAW_COST,
tmp7.EOU_BRDN_COST,
tmp7.EOU_BILL_BRDN_COST,
tmp7.EOU_SUP_INV_COMMITTED_COST,
tmp7.EOU_PO_COMMITTED_COST,
tmp7.EOU_PR_COMMITTED_COST,
tmp7.EOU_OTH_COMMITTED_COST,
tmp7.G1_RAW_COST,
tmp7.G1_BILL_RAW_COST,
tmp7.G1_BRDN_COST,
tmp7.G1_BILL_BRDN_COST,
tmp7.G1_REVENUE,
tmp7.G1_SUP_INV_COMMITTED_COST,
tmp7.G1_PO_COMMITTED_COST,
tmp7.G1_PR_COMMITTED_COST,
tmp7.G1_OTH_COMMITTED_COST,
tmp7.G2_RAW_COST,
tmp7.G2_BILL_RAW_COST,
tmp7.G2_BRDN_COST,
tmp7.G2_BILL_BRDN_COST,
tmp7.G2_REVENUE,
tmp7.G2_SUP_INV_COMMITTED_COST,
tmp7.G2_PO_COMMITTED_COST,
tmp7.G2_PR_COMMITTED_COST,
tmp7.G2_OTH_COMMITTED_COST,
tmp7.QUANTITY,
tmp7.BILL_QUANTITY
from
PJI_PJP_RMAP_FPR tmp7_r,
PJI_FM_AGGR_FIN7 tmp7,
PJI_PJP_RBS_HEADER rbs_hdr
where
p_extraction_type = 'INCREMENTAL' and
tmp7_r.WORKER_ID = p_worker_id and
tmp7_r.STG_ROWID = tmp7.ROWID and
tmp7.PROJECT_ID = rbs_hdr.PROJECT_ID and
-1 = rbs_hdr.PLAN_VERSION_ID
union all -- newly associated RBSs for actuals
select
bal.TXN_ACCUM_HEADER_ID,
bal.RESOURCE_CLASS_ID,
bal.PROJECT_ID,
bal.PROJECT_ORG_ID,
bal.PROJECT_ORGANIZATION_ID,
bal.PROJECT_TYPE_CLASS,
nvl(bal.TASK_ID, -1) TASK_ID,
bal.RECVR_PERIOD_TYPE,
bal.RECVR_PERIOD_ID,
log.RBS_VERSION_ID,
bal.TXN_CURRENCY_CODE,
bal.TXN_RAW_COST,
bal.TXN_BILL_RAW_COST,
bal.TXN_BRDN_COST,
bal.TXN_BILL_BRDN_COST,
bal.TXN_REVENUE,
to_number(null) TXN_SUP_INV_COMMITTED_COST,
to_number(null) TXN_PO_COMMITTED_COST,
to_number(null) TXN_PR_COMMITTED_COST,
to_number(null) TXN_OTH_COMMITTED_COST,
bal.PRJ_RAW_COST,
bal.PRJ_BILL_RAW_COST,
bal.PRJ_BRDN_COST,
bal.PRJ_BILL_BRDN_COST,
bal.PRJ_REVENUE,
to_number(null) PRJ_SUP_INV_COMMITTED_COST,
to_number(null) PRJ_PO_COMMITTED_COST,
to_number(null) PRJ_PR_COMMITTED_COST,
to_number(null) PRJ_OTH_COMMITTED_COST,
bal.POU_RAW_COST,
bal.POU_BILL_RAW_COST,
bal.POU_BRDN_COST,
bal.POU_BILL_BRDN_COST,
bal.POU_REVENUE,
to_number(null) POU_SUP_INV_COMMITTED_COST,
to_number(null) POU_PO_COMMITTED_COST,
to_number(null) POU_PR_COMMITTED_COST,
to_number(null) POU_OTH_COMMITTED_COST,
bal.EOU_RAW_COST,
bal.EOU_BILL_RAW_COST,
bal.EOU_BRDN_COST,
bal.EOU_BILL_BRDN_COST,
to_number(null) EOU_SUP_INV_COMMITTED_COST,
to_number(null) EOU_PO_COMMITTED_COST,
to_number(null) EOU_PR_COMMITTED_COST,
to_number(null) EOU_OTH_COMMITTED_COST,
bal.G1_RAW_COST,
bal.G1_BILL_RAW_COST,
bal.G1_BRDN_COST,
bal.G1_BILL_BRDN_COST,
bal.G1_REVENUE,
to_number(null) G1_SUP_INV_COMMITTED_COST,
to_number(null) G1_PO_COMMITTED_COST,
to_number(null) G1_PR_COMMITTED_COST,
to_number(null) G1_OTH_COMMITTED_COST,
bal.G2_RAW_COST,
bal.G2_BILL_RAW_COST,
bal.G2_BRDN_COST,
bal.G2_BILL_BRDN_COST,
bal.G2_REVENUE,
to_number(null) G2_SUP_INV_COMMITTED_COST,
to_number(null) G2_PO_COMMITTED_COST,
to_number(null) G2_PR_COMMITTED_COST,
to_number(null) G2_OTH_COMMITTED_COST,
bal.QUANTITY,
bal.BILL_QUANTITY
from
PJI_FP_TXN_ACCUM bal,
(
select
distinct
to_number(log.EVENT_OBJECT) RBS_VERSION_ID,
to_number(log.ATTRIBUTE1) PROJECT_ID
from
PJI_PA_PROJ_EVENTS_LOG log
where
log.WORKER_ID = p_worker_id and
log.EVENT_TYPE = 'RBS_ASSOC'
) log
where
p_extraction_type = 'INCREMENTAL' and
bal.PROJECT_ID = log.PROJECT_ID
union all -- newly associated RBSs for commitments
select
bal.TXN_ACCUM_HEADER_ID,
to_number(null) RESOURCE_CLASS_ID,
bal.PROJECT_ID,
bal.PROJECT_ORG_ID,
bal.PROJECT_ORGANIZATION_ID,
to_char(null) PROJECT_TYPE_CLASS,
nvl(bal.TASK_ID, -1) TASK_ID,
bal.RECVR_PERIOD_TYPE,
bal.RECVR_PERIOD_ID,
log.RBS_VERSION_ID,
bal.TXN_CURRENCY_CODE,
to_number(null) TXN_RAW_COST,
to_number(null) TXN_BILL_RAW_COST,
to_number(null) TXN_BRDN_COST,
to_number(null) TXN_BILL_BRDN_COST,
to_number(null) TXN_REVENUE,
bal.TXN_SUP_INV_COMMITTED_COST,
bal.TXN_PO_COMMITTED_COST,
bal.TXN_PR_COMMITTED_COST,
bal.TXN_OTH_COMMITTED_COST,
to_number(null) PRJ_RAW_COST,
to_number(null) PRJ_BILL_RAW_COST,
to_number(null) PRJ_BRDN_COST,
to_number(null) PRJ_BILL_BRDN_COST,
to_number(null) PRJ_REVENUE,
bal.PRJ_SUP_INV_COMMITTED_COST,
bal.PRJ_PO_COMMITTED_COST,
bal.PRJ_PR_COMMITTED_COST,
bal.PRJ_OTH_COMMITTED_COST,
to_number(null) POU_RAW_COST,
to_number(null) POU_BILL_RAW_COST,
to_number(null) POU_BRDN_COST,
to_number(null) POU_BILL_BRDN_COST,
to_number(null) POU_REVENUE,
bal.POU_SUP_INV_COMMITTED_COST,
bal.POU_PO_COMMITTED_COST,
bal.POU_PR_COMMITTED_COST,
bal.POU_OTH_COMMITTED_COST,
to_number(null) EOU_RAW_COST,
to_number(null) EOU_BILL_RAW_COST,
to_number(null) EOU_BRDN_COST,
to_number(null) EOU_BILL_BRDN_COST,
bal.EOU_SUP_INV_COMMITTED_COST,
bal.EOU_PO_COMMITTED_COST,
bal.EOU_PR_COMMITTED_COST,
bal.EOU_OTH_COMMITTED_COST,
to_number(null) G1_RAW_COST,
to_number(null) G1_BILL_RAW_COST,
to_number(null) G1_BRDN_COST,
to_number(null) G1_BILL_BRDN_COST,
to_number(null) G1_REVENUE,
bal.G1_SUP_INV_COMMITTED_COST,
bal.G1_PO_COMMITTED_COST,
bal.G1_PR_COMMITTED_COST,
bal.G1_OTH_COMMITTED_COST,
to_number(null) G2_RAW_COST,
to_number(null) G2_BILL_RAW_COST,
to_number(null) G2_BRDN_COST,
to_number(null) G2_BILL_BRDN_COST,
to_number(null) G2_REVENUE,
bal.G2_SUP_INV_COMMITTED_COST,
bal.G2_PO_COMMITTED_COST,
bal.G2_PR_COMMITTED_COST,
bal.G2_OTH_COMMITTED_COST,
to_number(null) QUANTITY,
to_number(null) BILL_QUANTITY
from
PJI_FP_TXN_ACCUM1 bal,
(
select
distinct
to_number(log.EVENT_OBJECT) RBS_VERSION_ID,
to_numbeR(log.ATTRIBUTE1) PROJECT_ID
from
PJI_PA_PROJ_EVENTS_LOG log
where
log.WORKER_ID = p_worker_id and
log.EVENT_TYPE = 'RBS_ASSOC'
) log
where
p_extraction_type = 'INCREMENTAL' and
bal.PROJECT_ID = log.PROJECT_ID
union all
select /*+ ordered */ -- RBS change processing actuals
bal.TXN_ACCUM_HEADER_ID,
bal.RESOURCE_CLASS_ID,
bal.PROJECT_ID,
bal.PROJECT_ORG_ID,
bal.PROJECT_ORGANIZATION_ID,
bal.PROJECT_TYPE_CLASS,
nvl(bal.TASK_ID, -1) TASK_ID,
bal.RECVR_PERIOD_TYPE,
bal.RECVR_PERIOD_ID,
nvl(to_number(log.EVENT_OBJECT), -1) RBS_VERSION_ID,
bal.TXN_CURRENCY_CODE,
bal.TXN_RAW_COST,
bal.TXN_BILL_RAW_COST,
bal.TXN_BRDN_COST,
bal.TXN_BILL_BRDN_COST,
bal.TXN_REVENUE,
to_number(null) TXN_SUP_INV_COMMITTED_COST,
to_number(null) TXN_PO_COMMITTED_COST,
to_number(null) TXN_PR_COMMITTED_COST,
to_number(null) TXN_OTH_COMMITTED_COST,
bal.PRJ_RAW_COST,
bal.PRJ_BILL_RAW_COST,
bal.PRJ_BRDN_COST,
bal.PRJ_BILL_BRDN_COST,
bal.PRJ_REVENUE,
to_number(null) PRJ_SUP_INV_COMMITTED_COST,
to_number(null) PRJ_PO_COMMITTED_COST,
to_number(null) PRJ_PR_COMMITTED_COST,
to_number(null) PRJ_OTH_COMMITTED_COST,
bal.POU_RAW_COST,
bal.POU_BILL_RAW_COST,
bal.POU_BRDN_COST,
bal.POU_BILL_BRDN_COST,
bal.POU_REVENUE,
to_number(null) POU_SUP_INV_COMMITTED_COST,
to_number(null) POU_PO_COMMITTED_COST,
to_number(null) POU_PR_COMMITTED_COST,
to_number(null) POU_OTH_COMMITTED_COST,
bal.EOU_RAW_COST,
bal.EOU_BILL_RAW_COST,
bal.EOU_BRDN_COST,
bal.EOU_BILL_BRDN_COST,
to_number(null) EOU_SUP_INV_COMMITTED_COST,
to_number(null) EOU_PO_COMMITTED_COST,
to_number(null) EOU_PR_COMMITTED_COST,
to_number(null) EOU_OTH_COMMITTED_COST,
bal.G1_RAW_COST,
bal.G1_BILL_RAW_COST,
bal.G1_BRDN_COST,
bal.G1_BILL_BRDN_COST,
bal.G1_REVENUE,
to_number(null) G1_SUP_INV_COMMITTED_COST,
to_number(null) G1_PO_COMMITTED_COST,
to_number(null) G1_PR_COMMITTED_COST,
to_number(null) G1_OTH_COMMITTED_COST,
bal.G2_RAW_COST,
bal.G2_BILL_RAW_COST,
bal.G2_BRDN_COST,
bal.G2_BILL_BRDN_COST,
bal.G2_REVENUE,
to_number(null) G2_SUP_INV_COMMITTED_COST,
to_number(null) G2_PO_COMMITTED_COST,
to_number(null) G2_PR_COMMITTED_COST,
to_number(null) G2_OTH_COMMITTED_COST,
bal.QUANTITY,
bal.BILL_QUANTITY
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_PROJ_EXTR_STATUS stat,
PJI_FP_TXN_ACCUM bal
where
p_extraction_type = 'RBS' and
log.WORKER_ID = p_worker_id and
log.EVENT_TYPE = 'RBS_PUSH' and
stat.PROJECT_ID = log.ATTRIBUTE19 and
stat.EXTRACTION_STATUS = 'I' and
bal.PROJECT_ID = log.ATTRIBUTE19
union all -- RBS change processing commitments
select
bal.TXN_ACCUM_HEADER_ID,
to_number(null) RESOURCE_CLASS_ID,
bal.PROJECT_ID,
bal.PROJECT_ORG_ID,
bal.PROJECT_ORGANIZATION_ID,
to_char(null) PROJECT_TYPE_CLASS,
nvl(bal.TASK_ID, -1) TASK_ID,
bal.RECVR_PERIOD_TYPE,
bal.RECVR_PERIOD_ID,
nvl(to_number(log.EVENT_OBJECT), -1) RBS_VERSION_ID,
bal.TXN_CURRENCY_CODE,
to_number(null) TXN_RAW_COST,
to_number(null) TXN_BILL_RAW_COST,
to_number(null) TXN_BRDN_COST,
to_number(null) TXN_BILL_BRDN_COST,
to_number(null) TXN_REVENUE,
bal.TXN_SUP_INV_COMMITTED_COST,
bal.TXN_PO_COMMITTED_COST,
bal.TXN_PR_COMMITTED_COST,
bal.TXN_OTH_COMMITTED_COST,
to_number(null) PRJ_RAW_COST,
to_number(null) PRJ_BILL_RAW_COST,
to_number(null) PRJ_BRDN_COST,
to_number(null) PRJ_BILL_BRDN_COST,
to_number(null) PRJ_REVENUE,
bal.PRJ_SUP_INV_COMMITTED_COST,
bal.PRJ_PO_COMMITTED_COST,
bal.PRJ_PR_COMMITTED_COST,
bal.PRJ_OTH_COMMITTED_COST,
to_number(null) POU_RAW_COST,
to_number(null) POU_BILL_RAW_COST,
to_number(null) POU_BRDN_COST,
to_number(null) POU_BILL_BRDN_COST,
to_number(null) POU_REVENUE,
bal.POU_SUP_INV_COMMITTED_COST,
bal.POU_PO_COMMITTED_COST,
bal.POU_PR_COMMITTED_COST,
bal.POU_OTH_COMMITTED_COST,
to_number(null) EOU_RAW_COST,
to_number(null) EOU_BILL_RAW_COST,
to_number(null) EOU_BRDN_COST,
to_number(null) EOU_BILL_BRDN_COST,
bal.EOU_SUP_INV_COMMITTED_COST,
bal.EOU_PO_COMMITTED_COST,
bal.EOU_PR_COMMITTED_COST,
bal.EOU_OTH_COMMITTED_COST,
to_number(null) G1_RAW_COST,
to_number(null) G1_BILL_RAW_COST,
to_number(null) G1_BRDN_COST,
to_number(null) G1_BILL_BRDN_COST,
to_number(null) G1_REVENUE,
bal.G1_SUP_INV_COMMITTED_COST,
bal.G1_PO_COMMITTED_COST,
bal.G1_PR_COMMITTED_COST,
bal.G1_OTH_COMMITTED_COST,
to_number(null) G2_RAW_COST,
to_number(null) G2_BILL_RAW_COST,
to_number(null) G2_BRDN_COST,
to_number(null) G2_BILL_BRDN_COST,
to_number(null) G2_REVENUE,
bal.G2_SUP_INV_COMMITTED_COST,
bal.G2_PO_COMMITTED_COST,
bal.G2_PR_COMMITTED_COST,
bal.G2_OTH_COMMITTED_COST,
to_number(null) QUANTITY,
to_number(null) BILL_QUANTITY
from
PJI_PA_PROJ_EVENTS_LOG log,
PJI_PJP_PROJ_EXTR_STATUS stat,
PJI_FP_TXN_ACCUM1 bal
where
p_extraction_type = 'RBS' and
log.WORKER_ID = p_worker_id and
log.EVENT_TYPE = 'RBS_PUSH' and
stat.PROJECT_ID = log.ATTRIBUTE19 and
stat.EXTRACTION_STATUS = 'I' and
bal.PROJECT_ID = log.ATTRIBUTE19
) src1
group by
src1.TXN_ACCUM_HEADER_ID,
src1.RESOURCE_CLASS_ID,
src1.PROJECT_ID,
src1.PROJECT_ORG_ID,
src1.PROJECT_ORGANIZATION_ID,
src1.PROJECT_TYPE_CLASS,
src1.TASK_ID,
src1.RECVR_PERIOD_TYPE,
src1.RECVR_PERIOD_ID,
src1.RBS_VERSION_ID,
src1.TXN_CURRENCY_CODE
) src2
) src,
PA_RBS_TXN_ACCUM_MAP rbs,
PJI_PJP_PROJ_BATCH_MAP map,
PJI_ORG_EXTR_INFO info,
PJI_PJP_WBS_HEADER wbs_hdr,
PA_PROJ_ELEMENT_VERSIONS ver,
(
select 1 INVERT_ID from dual
where p_g1_currency_flag = 'Y' and /* Added for Bug 8497371 */
p_g1_currency_code is not null union all
select 2 INVERT_ID from dual
where p_g2_currency_flag = 'Y' and
p_g2_currency_code is not null 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 p_txn_currency_flag = 'Y'
) invert
where
src.TXN_ACCUM_HEADER_ID = rbs.TXN_ACCUM_HEADER_ID (+) and
src.RBS_VERSION_ID = rbs.STRUCT_VERSION_ID (+) and
map.WORKER_ID = p_worker_id and
src.PROJECT_ID = map.PROJECT_ID and
nvl(src.PROJECT_ORG_ID, -1) = nvl(info.ORG_ID, -1) and
wbs_hdr.PLAN_VERSION_ID = -1 and
src.PROJECT_ID = wbs_hdr.PROJECT_ID and
ver.ELEMENT_VERSION_ID = wbs_hdr.WBS_VERSION_ID
) src3
group by
src3.WORKER_ID,
src3.TXN_ACCUM_HEADER_ID,
src3.RESOURCE_CLASS_ID,
src3.PROJECT_ID,
src3.PROJECT_ORG_ID,
src3.PROJECT_ORGANIZATION_ID,
src3.PROJECT_TYPE_CLASS,
src3.PROJECT_ELEMENT_ID,
src3.TIME_ID,
src3.PERIOD_TYPE_ID,
src3.CALENDAR_TYPE,
src3.RBS_AGGR_LEVEL,
src3.WBS_ROLLUP_FLAG,
src3.PRG_ROLLUP_FLAG,
src3.DIFF_CURRENCY_CODE,
src3.DIFF_ROWNUM,
nvl(src3.CURRENCY_CODE, 'PJI$NULL'),
src3.RBS_ELEMENT_ID,
src3.RBS_VERSION_ID,
src3.PLAN_VERSION_ID,
src3.PLAN_TYPE_ID
) src,
PA_RESOURCE_CLASSES_B cls
where
src.RESOURCE_CLASS_ID = cls.RESOURCE_CLASS_ID (+)
group by
src.WORKER_ID,
src.TXN_ACCUM_HEADER_ID,
src.PROJECT_ID,
src.PROJECT_ORG_ID,
src.PROJECT_ORGANIZATION_ID,
src.PROJECT_ELEMENT_ID,
src.TIME_ID,
src.PERIOD_TYPE_ID,
src.CALENDAR_TYPE,
src.RBS_AGGR_LEVEL,
src.WBS_ROLLUP_FLAG,
src.PRG_ROLLUP_FLAG,
src.CURR_RECORD_TYPE_ID,
src.CURRENCY_CODE,
src.RBS_ELEMENT_ID,
src.RBS_VERSION_ID,
src.PLAN_VERSION_ID,
src.PLAN_TYPE_ID;
insert 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
p_worker_id WORKER_ID,
null RECORD_TYPE,
pjp1.PRG_LEVEL,
pjp1.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
(
select
pjp1.PRG_LEVEL,
pjp1.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,
'T' RBS_AGGR_LEVEL,
pjp1.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
-1 RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE,
max(pjp1.RAW_COST) RAW_COST,
max(pjp1.BRDN_COST) BRDN_COST,
max(pjp1.REVENUE) REVENUE,
max(pjp1.BILL_RAW_COST) BILL_RAW_COST,
max(pjp1.BILL_BRDN_COST) BILL_BRDN_COST,
max(pjp1.BILL_LABOR_RAW_COST) BILL_LABOR_RAW_COST,
max(pjp1.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
max(pjp1.BILL_LABOR_HRS) BILL_LABOR_HRS,
max(pjp1.EQUIPMENT_RAW_COST) EQUIPMENT_RAW_COST,
max(pjp1.EQUIPMENT_BRDN_COST) EQUIPMENT_BRDN_COST,
max(pjp1.CAPITALIZABLE_RAW_COST) CAPITALIZABLE_RAW_COST,
max(pjp1.CAPITALIZABLE_BRDN_COST) CAPITALIZABLE_BRDN_COST,
max(pjp1.LABOR_RAW_COST) LABOR_RAW_COST,
max(pjp1.LABOR_BRDN_COST) LABOR_BRDN_COST,
max(pjp1.LABOR_HRS) LABOR_HRS,
max(pjp1.LABOR_REVENUE) LABOR_REVENUE,
max(pjp1.EQUIPMENT_HOURS) EQUIPMENT_HOURS,
max(pjp1.BILLABLE_EQUIPMENT_HOURS) BILLABLE_EQUIPMENT_HOURS,
max(pjp1.SUP_INV_COMMITTED_COST) SUP_INV_COMMITTED_COST,
max(pjp1.PO_COMMITTED_COST) PO_COMMITTED_COST,
max(pjp1.PR_COMMITTED_COST) PR_COMMITTED_COST,
max(pjp1.OTH_COMMITTED_COST) OTH_COMMITTED_COST,
max(pjp1.ACT_LABOR_HRS) ACT_LABOR_HRS,
max(pjp1.ACT_EQUIP_HRS) ACT_EQUIP_HRS,
max(pjp1.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
max(pjp1.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
max(pjp1.ACT_BRDN_COST) ACT_BRDN_COST,
max(pjp1.ACT_RAW_COST) ACT_RAW_COST,
max(pjp1.ACT_REVENUE) ACT_REVENUE,
max(pjp1.ACT_LABOR_RAW_COST) ACT_LABOR_RAW_COST,
max(pjp1.ACT_EQUIP_RAW_COST) ACT_EQUIP_RAW_COST,
max(pjp1.ETC_LABOR_HRS) ETC_LABOR_HRS,
max(pjp1.ETC_EQUIP_HRS) ETC_EQUIP_HRS,
max(pjp1.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
max(pjp1.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
max(pjp1.ETC_BRDN_COST) ETC_BRDN_COST,
max(pjp1.ETC_RAW_COST) ETC_RAW_COST,
max(pjp1.ETC_LABOR_RAW_COST) ETC_LABOR_RAW_COST,
max(pjp1.ETC_EQUIP_RAW_COST) ETC_EQUIP_RAW_COST,
max(pjp1.CUSTOM1) CUSTOM1,
max(pjp1.CUSTOM2) CUSTOM2,
max(pjp1.CUSTOM3) CUSTOM3,
max(pjp1.CUSTOM4) CUSTOM4,
max(pjp1.CUSTOM5) CUSTOM5,
max(pjp1.CUSTOM6) CUSTOM6,
max(pjp1.CUSTOM7) CUSTOM7,
max(pjp1.CUSTOM8) CUSTOM8,
max(pjp1.CUSTOM9) CUSTOM9,
max(pjp1.CUSTOM10) CUSTOM10,
max(pjp1.CUSTOM11) CUSTOM11,
max(pjp1.CUSTOM12) CUSTOM12,
max(pjp1.CUSTOM13) CUSTOM13,
max(pjp1.CUSTOM14) CUSTOM14,
max(pjp1.CUSTOM15) CUSTOM15
from
(
select
pjp1.PRG_LEVEL,
pjp1.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.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
-1 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,
(
select
distinct
to_number(log.EVENT_OBJECT) RBS_VERSION_ID,
to_number(log.ATTRIBUTE1) PROJECT_ID
from
PJI_PA_PROJ_EVENTS_LOG log
where
log.WORKER_ID = p_worker_id and
log.EVENT_TYPE = 'RBS_ASSOC'
) log
where
pjp1.WORKER_ID = p_worker_id and
pjp1.PROJECT_ID = log.PROJECT_ID (+) and
pjp1.RBS_VERSION_ID = log.RBS_VERSION_ID (+) and
log.PROJECT_ID is null
group by
pjp1.PRG_LEVEL,
pjp1.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.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_VERSION_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
) pjp1
group by
pjp1.PRG_LEVEL,
pjp1.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.WBS_ROLLUP_FLAG,
pjp1.PRG_ROLLUP_FLAG,
pjp1.CURR_RECORD_TYPE_ID,
pjp1.CURRENCY_CODE,
pjp1.RBS_ELEMENT_ID,
pjp1.PLAN_VERSION_ID,
pjp1.PLAN_TYPE_ID,
pjp1.PLAN_TYPE_CODE
) pjp1
group by
pjp1.PRG_LEVEL,
pjp1.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;
insert 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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 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 /*+ LEADING(PJP,PRG) USE_HASH(PRG) */
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,pjp1) */
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) */
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)));