DBA Data[Home] [Help]

APPS.PJI_PJP_GEN_PERF_ALL SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 52

    select VALUE
    into   l_result
    from   PJI_SYSTEM_PARAMETERS
    where  NAME = p_name;
Line: 75

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;
Line: 591

    l_last_update_login    NUMBER := FND_GLOBAL.LOGIN_ID;
Line: 595

    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 */
Line: 788

  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;
Line: 1212

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);
Line: 1220

    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 */
Line: 1649

    , p_procedure_name => ' PROCESS_PENDING_PLAN_UPDATES '
    , x_return_status  => l_return_status ) ;
Line: 1653

END PROCESS_PENDING_PLAN_UPDATES;
Line: 1666

    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;
Line: 2735

    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;
Line: 3149

        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)));
Line: 4464

        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)));
Line: 5779

        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)));
Line: 7093

        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)));
Line: 8407

        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)));
Line: 9721

        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)));
Line: 11035

        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)));
Line: 12349

        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)));
Line: 13663

        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)));
Line: 14977

        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)));