DBA Data[Home] [Help]

APPS.PJI_PJP_PRG_PERF_ALL SQL Statements

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

Line: 78

   FOR ind_lp IN (SELECT   index_name
                  ,        partitioned
                  FROM     dba_indexes
                  WHERE    table_name = p_tabname
		  AND      table_owner = p_ownname) LOOP

     FND_STATS.GATHER_INDEX_STATS(ownname => p_ownname
                                 ,indname => ind_lp.index_name
                                 ,percent => p_percent
                                 ,degree => l_degree);
Line: 139

  INSERT /*+ parallel(pjp1) */ INTO PJI_FP_AGGR_PJP1 pjp1
  (
       WORKER_ID
     , PRG_LEVEL
     , PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
       , ACT_LABOR_HRS
	   , ACT_EQUIP_HRS
	   , ACT_LABOR_BRDN_COST
	   , ACT_EQUIP_BRDN_COST
	   , ACT_BRDN_COST
	   , ACT_RAW_COST
	   , ACT_REVENUE
         , ACT_LABOR_RAW_COST
         , ACT_EQUIP_RAW_COST
	   , ETC_LABOR_HRS
	   , ETC_EQUIP_HRS
	   , ETC_LABOR_BRDN_COST
	   , ETC_EQUIP_BRDN_COST
	   , ETC_BRDN_COST
         , ETC_RAW_COST
         , ETC_LABOR_RAW_COST
         , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , LINE_TYPE
     , PLAN_TYPE_CODE
  )
  SELECT * FROM (
  SELECT /*+ parallel(fact1) */
      g_worker_id
    , g_default_prg_level
    , fact1.PROJECT_ID
    , fact1.PROJECT_ORG_ID
    , fact1.PROJECT_ORGANIZATION_ID
    , fact1.PROJECT_ELEMENT_ID
    , DECODE (
               (grouping(qtr.ENT_YEAR_ID) || grouping(period.ENT_QTR_ID) || grouping(period.ENT_PERIOD_ID) )
             , '000', period.ENT_PERIOD_ID
             , '001', period.ENT_QTR_ID
             , '011', qtr.ENT_YEAR_ID
             , '111', -1 ) TIME_ID
    , DECODE (
               (grouping(qtr.ENT_YEAR_ID) || grouping(period.ENT_QTR_ID) || grouping(period.ENT_PERIOD_ID) )
             , '000', 32
             , '001', 64
             , '011', 128
             , '111', 2048 ) PERIOD_TYPE_ID
    , DECODE (
               grouping(qtr.ENT_YEAR_ID)
             , 0 , 'E'
             , 'A') CALENDAR_TYPE
    , RBS_AGGR_LEVEL
    , WBS_ROLLUP_FLAG
    , PRG_ROLLUP_FLAG
    , fact1.CURR_RECORD_TYPE_ID
    , fact1.CURRENCY_CODE
    , fact1.RBS_ELEMENT_ID
    , fact1.RBS_VERSION_ID
    , fact1.PLAN_VERSION_ID
    , fact1.plan_type_id
    , SUM(fact1.RAW_COST)
    , SUM(fact1.BRDN_COST)
    , SUM(fact1.REVENUE)
    , SUM(fact1.BILL_RAW_COST)
    , SUM(fact1.BILL_BRDN_COST )
    , SUM(fact1.BILL_LABOR_RAW_COST)
    , SUM(fact1.BILL_LABOR_BRDN_COST )
    , SUM(fact1.BILL_LABOR_HRS )
    , SUM(fact1.EQUIPMENT_RAW_COST )
    , SUM(fact1.EQUIPMENT_BRDN_COST )
    , SUM(fact1.CAPITALIZABLE_RAW_COST )
    , SUM(fact1.CAPITALIZABLE_BRDN_COST )
    , SUM(fact1.LABOR_RAW_COST )
    , SUM(fact1.LABOR_BRDN_COST )
    , SUM(fact1.LABOR_HRS)
    , SUM(fact1.LABOR_REVENUE)
    , SUM(fact1.EQUIPMENT_HOURS)
    , SUM(fact1.BILLABLE_EQUIPMENT_HOURS)
    , SUM(fact1.SUP_INV_COMMITTED_COST)
    , SUM(fact1.PO_COMMITTED_COST   )
    , SUM(fact1.PR_COMMITTED_COST  )
    , SUM(fact1.OTH_COMMITTED_COST)
       , SUM(fact1.ACT_LABOR_HRS)
	 , SUM(fact1.ACT_EQUIP_HRS)
	 , SUM(fact1.ACT_LABOR_BRDN_COST)
	 , SUM(fact1.ACT_EQUIP_BRDN_COST)
	 , SUM(fact1.ACT_BRDN_COST)
	 , SUM(fact1.ACT_RAW_COST)
	 , SUM(fact1.ACT_REVENUE)
       , SUM(fact1.ACT_LABOR_RAW_COST)
       , SUM(fact1.ACT_EQUIP_RAW_COST)
	 , SUM(fact1.ETC_LABOR_HRS)
	 , SUM(fact1.ETC_EQUIP_HRS)
	 , SUM(fact1.ETC_LABOR_BRDN_COST)
	 , SUM(fact1.ETC_EQUIP_BRDN_COST)
	 , SUM(fact1.ETC_BRDN_COST )
       , SUM(fact1.ETC_RAW_COST )
       , SUM(fact1.ETC_LABOR_RAW_COST)
       , SUM(fact1.ETC_EQUIP_RAW_COST)
    , SUM(CUSTOM1	)
    , SUM(CUSTOM2	)
    , SUM(CUSTOM3	)
    , SUM(CUSTOM4	)
    , SUM(CUSTOM5	)
    , SUM(CUSTOM6	)
    , SUM(CUSTOM7	)
    , SUM(CUSTOM8	)
    , SUM(CUSTOM9	)
    , SUM(CUSTOM10	)
    , SUM(CUSTOM11	)
    , SUM(CUSTOM12	)
    , SUM(CUSTOM13	)
    , SUM(CUSTOM14	)
    , SUM(CUSTOM15)
    , 'ENTR'
    , PLAN_TYPE_CODE
    FROM
	  PJI_FP_AGGR_PJP1 fact1
      , pji_time_ENT_PERIOD period
	, pji_time_ENT_QTR    qtr
    WHERE
        fact1.calendar_type = 'E'
    AND period.ENT_period_id = fact1.time_id
    AND period.ENT_qtr_id = qtr.ENT_qtr_id
    AND fact1.period_type_id = 32
    AND fact1.worker_id = g_worker_id
	GROUP BY
 	  fact1.PROJECT_ID
    , fact1.PROJECT_ORG_ID
    , fact1.PROJECT_ORGANIZATION_ID
    , fact1.PROJECT_ELEMENT_ID
    , fact1.calendar_type
    , RBS_AGGR_LEVEL
    , WBS_ROLLUP_FLAG
    , PRG_ROLLUP_FLAG
    , fact1.CURR_RECORD_TYPE_ID
    , fact1.CURRENCY_CODE
    , fact1.RBS_ELEMENT_ID
    , fact1.RBS_VERSION_ID
    , fact1.PLAN_VERSION_ID
    , fact1.plan_type_id
    , fact1.plan_type_code
    , rollup (qtr.ENT_YEAR_ID,
              period.ENT_QTR_ID,
              period.ENT_PERIOD_ID))
   WHERE period_type_id > 32
     AND period_type_id < 2048;
Line: 353

  INSERT /*+ parallel(pjp1) */ INTO pji_fp_aggr_pjp1 pjp1
  (
         WORKER_ID
       , PRG_LEVEL
       , PROJECT_ID
       , PROJECT_ORG_ID
       , PROJECT_ORGANIZATION_ID
       , PROJECT_ELEMENT_ID
       , TIME_ID
       , PERIOD_TYPE_ID
       , CALENDAR_TYPE
       , RBS_AGGR_LEVEL
       , WBS_ROLLUP_FLAG
       , PRG_ROLLUP_FLAG
       , CURR_RECORD_TYPE_ID
       , CURRENCY_CODE
       , RBS_ELEMENT_ID
       , RBS_VERSION_ID
       , PLAN_VERSION_ID
       , PLAN_TYPE_ID
       , RAW_COST
       , BRDN_COST
       , REVENUE
       , BILL_RAW_COST
       , BILL_BRDN_COST
       , BILL_LABOR_RAW_COST
       , BILL_LABOR_BRDN_COST
       , BILL_LABOR_HRS
       , EQUIPMENT_RAW_COST
       , EQUIPMENT_BRDN_COST
       , CAPITALIZABLE_RAW_COST
       , CAPITALIZABLE_BRDN_COST
       , LABOR_RAW_COST
       , LABOR_BRDN_COST
       , LABOR_HRS
       , LABOR_REVENUE
       , EQUIPMENT_HOURS
       , BILLABLE_EQUIPMENT_HOURS
       , SUP_INV_COMMITTED_COST
       , PO_COMMITTED_COST
       , PR_COMMITTED_COST
       , OTH_COMMITTED_COST
       , ACT_LABOR_HRS
	   , ACT_EQUIP_HRS
	   , ACT_LABOR_BRDN_COST
	   , ACT_EQUIP_BRDN_COST
	   , ACT_BRDN_COST
	   , ACT_RAW_COST
	   , ACT_REVENUE
         , ACT_LABOR_RAW_COST
         , ACT_EQUIP_RAW_COST
	   , ETC_LABOR_HRS
	   , ETC_EQUIP_HRS
	   , ETC_LABOR_BRDN_COST
	   , ETC_EQUIP_BRDN_COST
	   , ETC_BRDN_COST
         , ETC_RAW_COST
         , ETC_LABOR_RAW_COST
         , ETC_EQUIP_RAW_COST
       , CUSTOM1
       , CUSTOM2
       , CUSTOM3
       , CUSTOM4
       , CUSTOM5
       , CUSTOM6
       , CUSTOM7
       , CUSTOM8
       , CUSTOM9
       , CUSTOM10
       , CUSTOM11
       , CUSTOM12
       , CUSTOM13
       , CUSTOM14
       , CUSTOM15
       , LINE_TYPE
       , PLAN_TYPE_CODE
    )
  SELECT * FROM (
  SELECT /*+ parallel(fact1) */
       g_worker_id
    , g_default_prg_level
    , fact1.PROJECT_ID
    , fact1.PROJECT_ORG_ID
    , fact1.PROJECT_ORGANIZATION_ID
    , fact1.PROJECT_ELEMENT_ID
    , DECODE (
               (grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
             , '000', period.CAL_PERIOD_ID
             , '001', period.CAL_QTR_ID
             , '011', qtr.CAL_YEAR_ID
             , '111', -1 ) TIME_ID
    , DECODE (
               (grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
             , '000', 32
             , '001', 64
             , '011', 128
             , '111', 2048 ) PERIOD_TYPE_ID
    , DECODE (
               grouping(qtr.CAL_YEAR_ID)
             , 0 , l_calendar_type
             , 'A') CALENDAR_TYPE
    , fact1.RBS_AGGR_LEVEL
    , fact1.WBS_ROLLUP_FLAG
    , fact1.PRG_ROLLUP_FLAG
    , fact1.CURR_RECORD_TYPE_ID
    , fact1.CURRENCY_CODE
    , fact1.RBS_ELEMENT_ID
    , fact1.RBS_VERSION_ID
    , fact1.PLAN_VERSION_ID
	, fact1.PLAN_TYPE_ID
    , SUM(fact1.RAW_COST)  RAW_COST
    , SUM(fact1.BRDN_COST)  BRDN_COST
    , SUM(fact1.REVENUE)  REVENUE
    , SUM(fact1.BILL_RAW_COST)  BILL_RAW_COST
    , SUM(fact1.BILL_BRDN_COST )  BILL_BRDN_COST
    , SUM(fact1.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST
    , SUM(fact1.BILL_LABOR_BRDN_COST )  BILL_LABOR_BRDN_COST
    , SUM(fact1.BILL_LABOR_HRS )  BILL_LABOR_HRS
    , SUM(fact1.EQUIPMENT_RAW_COST )  EQUIPMENT_RAW_COST
    , SUM(fact1.EQUIPMENT_BRDN_COST ) EQUIPMENT_BRDN_COST
    , SUM(fact1.CAPITALIZABLE_RAW_COST ) CAPITALIZABLE_RAW_COST
    , SUM(fact1.CAPITALIZABLE_BRDN_COST )   CAPITALIZABLE_BRDN_COST
    , SUM(fact1.LABOR_RAW_COST )  LABOR_RAW_COST
    , SUM(fact1.LABOR_BRDN_COST ) LABOR_BRDN_COST
    , SUM(fact1.LABOR_HRS)  LABOR_HRS
    , SUM(fact1.LABOR_REVENUE)    LABOR_REVENUE
    , SUM(fact1.EQUIPMENT_HOURS)  EQUIPMENT_HOURS
    , SUM(fact1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS
    , SUM(fact1.SUP_INV_COMMITTED_COST)   SUP_INV_COMMITTED_COST
    , SUM(fact1.PO_COMMITTED_COST   )  PO_COMMITTED_COST
    , SUM(fact1.PR_COMMITTED_COST  ) PR_COMMITTED_COST
    , SUM(fact1.OTH_COMMITTED_COST)  OTH_COMMITTED_COST
       , SUM(fact1.ACT_LABOR_HRS)
	 , SUM(fact1.ACT_EQUIP_HRS)
	 , SUM(fact1.ACT_LABOR_BRDN_COST)
	 , SUM(fact1.ACT_EQUIP_BRDN_COST)
	 , SUM(fact1.ACT_BRDN_COST)
	 , SUM(fact1.ACT_RAW_COST)
	 , SUM(fact1.ACT_REVENUE)
       , SUM(fact1.ACT_LABOR_RAW_COST)
       , SUM(fact1.ACT_EQUIP_RAW_COST)
	 , SUM(fact1.ETC_LABOR_HRS)
	 , SUM(fact1.ETC_EQUIP_HRS)
	 , SUM(fact1.ETC_LABOR_BRDN_COST)
	 , SUM(fact1.ETC_EQUIP_BRDN_COST)
	 , SUM(fact1.ETC_BRDN_COST )
       , SUM(fact1.ETC_RAW_COST )
       , SUM(fact1.ETC_LABOR_RAW_COST)
       , SUM(fact1.ETC_EQUIP_RAW_COST)
    , SUM(CUSTOM1	) CUSTOM1
    , SUM(CUSTOM2	) CUSTOM2
    , SUM(CUSTOM3	) CUSTOM3
    , SUM(CUSTOM4	) CUSTOM4
    , SUM(CUSTOM5	) CUSTOM5
    , SUM(CUSTOM6	) CUSTOM6
    , SUM(CUSTOM7	) CUSTOM7
    , SUM(CUSTOM8	) CUSTOM8
    , SUM(CUSTOM9	) CUSTOM9
    , SUM(CUSTOM10	) CUSTOM10
    , SUM(CUSTOM11	) CUSTOM11
    , SUM(CUSTOM12	) CUSTOM12
    , SUM(CUSTOM13	) CUSTOM13
    , SUM(CUSTOM14	) CUSTOM14
    , SUM(CUSTOM15) CUSTOM15
	, l_line_type line_type
   , fact1.plan_type_code   plan_type_code
    FROM
	pji_fp_aggr_pjp1 fact1
    , pji_time_CAL_PERIOD period
    , pji_time_CAL_QTR    qtr
    WHERE
        fact1.calendar_type = 'P'
    AND period.cal_period_id = fact1.time_id
    AND period.cal_qtr_id = qtr.cal_qtr_id
    AND fact1.period_type_id = 32
    AND fact1.worker_id = g_worker_id
   GROUP BY
	fact1.PROJECT_ID
    , fact1.PROJECT_ORGANIZATION_ID
    , fact1.PROJECT_ORG_ID
    , fact1.PROJECT_ELEMENT_ID
    , rollup (qtr.CAL_YEAR_ID,
              period.CAL_QTR_ID,
              period.CAL_PERIOD_ID)
    , fact1.calendar_type
    , fact1.RBS_AGGR_LEVEL
    , fact1.WBS_ROLLUP_FLAG
    , fact1.PRG_ROLLUP_FLAG
    , fact1.CURR_RECORD_TYPE_ID
    , fact1.CURRENCY_CODE
    , fact1.RBS_ELEMENT_ID
    , fact1.RBS_VERSION_ID
    , fact1.PLAN_VERSION_ID
    , fact1.PLAN_TYPE_ID
    , fact1.PLAN_TYPE_CODE )
    WHERE period_type_id > 32
     AND period_type_id < 2048;
Line: 559

    l_last_update_login    NUMBER := FND_GLOBAL.LOGIN_ID;
Line: 662

  INSERT /*+ parallel(pjp1) */ INTO pji_fp_aggr_pjp1 pjp1
  (
       WORKER_ID
     , PRG_LEVEL
     , PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
       , ACT_LABOR_HRS
	   , ACT_EQUIP_HRS
	   , ACT_LABOR_BRDN_COST
	   , ACT_EQUIP_BRDN_COST
	   , ACT_BRDN_COST
	   , ACT_RAW_COST
	   , ACT_REVENUE
         , ACT_LABOR_RAW_COST
         , ACT_EQUIP_RAW_COST
	   , ETC_LABOR_HRS
	   , ETC_EQUIP_HRS
	   , ETC_LABOR_BRDN_COST
	   , ETC_EQUIP_BRDN_COST
	   , ETC_BRDN_COST
         , ETC_RAW_COST
         , ETC_LABOR_RAW_COST
         , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , LINE_TYPE
     , PLAN_TYPE_CODE
  )
  SELECT * FROM (
  SELECT /*+ parallel(fact1) */
      g_worker_id
    , g_default_prg_level
    , fact1.PROJECT_ID
    , fact1.PROJECT_ORG_ID
    , fact1.PROJECT_ORGANIZATION_ID
    , fact1.PROJECT_ELEMENT_ID
    , DECODE (
               (grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
             , '000', period.CAL_PERIOD_ID
             , '001', period.CAL_QTR_ID
             , '011', qtr.CAL_YEAR_ID
             , '111', -1 ) TIME_ID
    , DECODE (
               (grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
             , '000', 32
             , '001', 64
             , '011', 128
             , '111', 2048 ) PERIOD_TYPE_ID
    , DECODE (
               grouping(qtr.CAL_YEAR_ID)
             , 0 , l_calendar_type
             , 'A') CALENDAR_TYPE
    , fact1.RBS_AGGR_LEVEL
    , fact1.WBS_ROLLUP_FLAG
    , fact1.PRG_ROLLUP_FLAG
    , fact1.CURR_RECORD_TYPE_ID
    , fact1.CURRENCY_CODE
    , fact1.RBS_ELEMENT_ID
    , fact1.RBS_VERSION_ID
    , fact1.PLAN_VERSION_ID
	, fact1.PLAN_TYPE_ID
    , SUM(fact1.RAW_COST)  RAW_COST
    , SUM(fact1.BRDN_COST)  BRDN_COST
    , SUM(fact1.REVENUE)  REVENUE
    , SUM(fact1.BILL_RAW_COST)  BILL_RAW_COST
    , SUM(fact1.BILL_BRDN_COST )  BILL_BRDN_COST
    , SUM(fact1.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST
    , SUM(fact1.BILL_LABOR_BRDN_COST )  BILL_LABOR_BRDN_COST
    , SUM(fact1.BILL_LABOR_HRS )  BILL_LABOR_HRS
    , SUM(fact1.EQUIPMENT_RAW_COST )  EQUIPMENT_RAW_COST
    , SUM(fact1.EQUIPMENT_BRDN_COST ) EQUIPMENT_BRDN_COST
    , SUM(fact1.CAPITALIZABLE_RAW_COST ) CAPITALIZABLE_RAW_COST
    , SUM(fact1.CAPITALIZABLE_BRDN_COST )   CAPITALIZABLE_BRDN_COST
    , SUM(fact1.LABOR_RAW_COST )  LABOR_RAW_COST
    , SUM(fact1.LABOR_BRDN_COST ) LABOR_BRDN_COST
    , SUM(fact1.LABOR_HRS)  LABOR_HRS
    , SUM(fact1.LABOR_REVENUE)    LABOR_REVENUE
    , SUM(fact1.EQUIPMENT_HOURS)  EQUIPMENT_HOURS
    , SUM(fact1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS
    , SUM(fact1.SUP_INV_COMMITTED_COST)   SUP_INV_COMMITTED_COST
    , SUM(fact1.PO_COMMITTED_COST   )  PO_COMMITTED_COST
    , SUM(fact1.PR_COMMITTED_COST  ) PR_COMMITTED_COST
    , SUM(fact1.OTH_COMMITTED_COST)  OTH_COMMITTED_COST
       , SUM(fact1.ACT_LABOR_HRS)
	 , SUM(fact1.ACT_EQUIP_HRS)
	 , SUM(fact1.ACT_LABOR_BRDN_COST)
	 , SUM(fact1.ACT_EQUIP_BRDN_COST)
	 , SUM(fact1.ACT_BRDN_COST)
	 , SUM(fact1.ACT_RAW_COST)
	 , SUM(fact1.ACT_REVENUE)
       , SUM(fact1.ACT_LABOR_RAW_COST)
       , SUM(fact1.ACT_EQUIP_RAW_COST)
	 , SUM(fact1.ETC_LABOR_HRS)
	 , SUM(fact1.ETC_EQUIP_HRS)
	 , SUM(fact1.ETC_LABOR_BRDN_COST)
	 , SUM(fact1.ETC_EQUIP_BRDN_COST)
	 , SUM(fact1.ETC_BRDN_COST )
       , SUM(fact1.ETC_RAW_COST )
       , SUM(fact1.ETC_LABOR_RAW_COST)
       , SUM(fact1.ETC_EQUIP_RAW_COST)
    , SUM(CUSTOM1	) CUSTOM1
    , SUM(CUSTOM2	) CUSTOM2
    , SUM(CUSTOM3	) CUSTOM3
    , SUM(CUSTOM4	) CUSTOM4
    , SUM(CUSTOM5	) CUSTOM5
    , SUM(CUSTOM6	) CUSTOM6
    , SUM(CUSTOM7	) CUSTOM7
    , SUM(CUSTOM8	) CUSTOM8
    , SUM(CUSTOM9	) CUSTOM9
    , SUM(CUSTOM10	) CUSTOM10
    , SUM(CUSTOM11	) CUSTOM11
    , SUM(CUSTOM12	) CUSTOM12
    , SUM(CUSTOM13	) CUSTOM13
    , SUM(CUSTOM14	) CUSTOM14
    , SUM(CUSTOM15) CUSTOM15
    , l_line_type
    , fact1.PLAN_TYPE_CODE PLAN_TYPE_CODE
    FROM
	pji_fp_aggr_pjp1 fact1
    , pji_time_CAL_PERIOD period
    , pji_time_CAL_QTR    qtr
    WHERE
        fact1.calendar_type = l_calendar_type
    AND period.cal_period_id = fact1.time_id
    AND period.cal_qtr_id = qtr.cal_qtr_id
    AND fact1.period_type_id = 32
    AND fact1.worker_id = g_worker_id
   GROUP BY
	fact1.PROJECT_ID
    , fact1.PROJECT_ORGANIZATION_ID
    , fact1.PROJECT_ORG_ID
    , fact1.PROJECT_ELEMENT_ID
    , rollup (qtr.CAL_YEAR_ID,
              period.CAL_QTR_ID,
              period.CAL_PERIOD_ID)
    , fact1.calendar_type
    , fact1.RBS_AGGR_LEVEL
    , fact1.WBS_ROLLUP_FLAG
    , fact1.PRG_ROLLUP_FLAG
    , fact1.CURR_RECORD_TYPE_ID
    , fact1.CURRENCY_CODE
    , fact1.RBS_ELEMENT_ID
    , fact1.RBS_VERSION_ID
    , fact1.PLAN_VERSION_ID
    , fact1.PLAN_TYPE_ID
    , fact1.PLAN_TYPE_CODE )
   WHERE period_type_id > 32
     AND period_type_id < 2048;
Line: 890

  SELECT fin_plan_type_id
        INTO l_plan_type_id
  FROM PA_FIN_PLAN_TYPES_B
  WHERE USE_FOR_WORKPLAN_FLAG='Y';
Line: 895

 INSERT /*+ parallel(PJP1) */ INTO PJI_FP_AGGR_PJP1 PJP1
  (
       WORKER_ID
     , PRG_LEVEL
     , PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
       , ACT_LABOR_HRS
	   , ACT_EQUIP_HRS
	   , ACT_LABOR_BRDN_COST
	   , ACT_EQUIP_BRDN_COST
	   , ACT_BRDN_COST
	   , ACT_RAW_COST
	   , ACT_REVENUE
         , ACT_LABOR_RAW_COST
         , ACT_EQUIP_RAW_COST
	   , ETC_LABOR_HRS
	   , ETC_EQUIP_HRS
	   , ETC_LABOR_BRDN_COST
	   , ETC_EQUIP_BRDN_COST
	   , ETC_BRDN_COST
         , ETC_RAW_COST
         , ETC_LABOR_RAW_COST
         , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , LINE_TYPE
     , PLAN_TYPE_CODE
  )
  SELECT * FROM (
  SELECT /*+ parallel(fact1) */
      g_worker_id
    , g_default_prg_level
    , fact1.PROJECT_ID
    , fact1.PROJECT_ORG_ID
    , fact1.PROJECT_ORGANIZATION_ID
    , fact1.PROJECT_ELEMENT_ID
    , DECODE (
               (grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
             , '000', period.CAL_PERIOD_ID
             , '001', period.CAL_QTR_ID
             , '011', qtr.CAL_YEAR_ID
             , '111', -1 ) TIME_ID
    , DECODE (
               (grouping(qtr.CAL_YEAR_ID) || grouping(period.CAL_QTR_ID) || grouping(period.CAL_PERIOD_ID) )
             , '000', 32
             , '001', 64
             , '011', 128
             , '111', 2048 ) PERIOD_TYPE_ID
    , DECODE (
               grouping(qtr.CAL_YEAR_ID)
             , 0 ,p_calendar_type
             , 'A') CALENDAR_TYPE
    , fact1.RBS_AGGR_LEVEL
    , fact1.WBS_ROLLUP_FLAG
    , fact1.PRG_ROLLUP_FLAG
    , fact1.CURR_RECORD_TYPE_ID
    , fact1.CURRENCY_CODE
    , fact1.RBS_ELEMENT_ID
    , fact1.RBS_VERSION_ID
    , fact1.PLAN_VERSION_ID
	, fact1.PLAN_TYPE_ID
    , SUM(fact1.RAW_COST)  RAW_COST
    , SUM(fact1.BRDN_COST)  BRDN_COST
    , SUM(fact1.REVENUE)  REVENUE
    , SUM(fact1.BILL_RAW_COST)  BILL_RAW_COST
    , SUM(fact1.BILL_BRDN_COST )  BILL_BRDN_COST
    , SUM(fact1.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST
    , SUM(fact1.BILL_LABOR_BRDN_COST )  BILL_LABOR_BRDN_COST
    , SUM(fact1.BILL_LABOR_HRS )  BILL_LABOR_HRS
    , SUM(fact1.EQUIPMENT_RAW_COST )  EQUIPMENT_RAW_COST
    , SUM(fact1.EQUIPMENT_BRDN_COST ) EQUIPMENT_BRDN_COST
    , SUM(fact1.CAPITALIZABLE_RAW_COST ) CAPITALIZABLE_RAW_COST
    , SUM(fact1.CAPITALIZABLE_BRDN_COST )   CAPITALIZABLE_BRDN_COST
    , SUM(fact1.LABOR_RAW_COST )  LABOR_RAW_COST
    , SUM(fact1.LABOR_BRDN_COST ) LABOR_BRDN_COST
    , SUM(fact1.LABOR_HRS)  LABOR_HRS
    , SUM(fact1.LABOR_REVENUE)    LABOR_REVENUE
    , SUM(fact1.EQUIPMENT_HOURS)  EQUIPMENT_HOURS
    , SUM(fact1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS
    , SUM(fact1.SUP_INV_COMMITTED_COST)   SUP_INV_COMMITTED_COST
    , SUM(fact1.PO_COMMITTED_COST   )  PO_COMMITTED_COST
    , SUM(fact1.PR_COMMITTED_COST  ) PR_COMMITTED_COST
    , SUM(fact1.OTH_COMMITTED_COST)  OTH_COMMITTED_COST
       , SUM(fact1.ACT_LABOR_HRS)
	 , SUM(fact1.ACT_EQUIP_HRS)
	 , SUM(fact1.ACT_LABOR_BRDN_COST)
	 , SUM(fact1.ACT_EQUIP_BRDN_COST)
	 , SUM(fact1.ACT_BRDN_COST)
	 , SUM(fact1.ACT_RAW_COST)
	 , SUM(fact1.ACT_REVENUE)
       , SUM(fact1.ACT_LABOR_RAW_COST)
       , SUM(fact1.ACT_EQUIP_RAW_COST)
	 , SUM(fact1.ETC_LABOR_HRS)
	 , SUM(fact1.ETC_EQUIP_HRS)
	 , SUM(fact1.ETC_LABOR_BRDN_COST)
	 , SUM(fact1.ETC_EQUIP_BRDN_COST)
	 , SUM(fact1.ETC_BRDN_COST )
       , SUM(fact1.ETC_RAW_COST )
       , SUM(fact1.ETC_LABOR_RAW_COST)
       , SUM(fact1.ETC_EQUIP_RAW_COST)
    , SUM(CUSTOM1	) CUSTOM1
    , SUM(CUSTOM2	) CUSTOM2
    , SUM(CUSTOM3	) CUSTOM3
    , SUM(CUSTOM4	) CUSTOM4
    , SUM(CUSTOM5	) CUSTOM5
    , SUM(CUSTOM6	) CUSTOM6
    , SUM(CUSTOM7	) CUSTOM7
    , SUM(CUSTOM8	) CUSTOM8
    , SUM(CUSTOM9	) CUSTOM9
    , SUM(CUSTOM10	) CUSTOM10
    , SUM(CUSTOM11	) CUSTOM11
    , SUM(CUSTOM12	) CUSTOM12
    , SUM(CUSTOM13	) CUSTOM13
    , SUM(CUSTOM14	) CUSTOM14
    , SUM(CUSTOM15) CUSTOM15
    ,l_line_type
    , fact1.PLAN_TYPE_CODE PLAN_TYPE_CODE
    FROM
	PJI_FP_AGGR_PJP1 fact1
    , pji_time_CAL_PERIOD period
    , pji_time_CAL_QTR    qtr
    , pji_fm_extr_plnver4 ver
    WHERE
        fact1.calendar_type in ( p_calendar_type
  				 , DECODE (p_calendar_type ,'C','G','X')
				   , DECODE (p_calendar_type ,'C',
				             DECODE(ver.plan_version_id,-1,'X',-3,'X',-4,'X',
				                    DECODE(fact1.plan_type_id,l_plan_type_id,'P','X')),'X'))
    AND period.cal_period_id = fact1.time_id
    AND period.cal_qtr_id = qtr.cal_qtr_id
    AND fact1.period_type_id = 32 -- <>  -1
    AND ver.time_phased_type_code IN ('P', 'G') -- If non time phased plan, non need to create 2048 slice separately.
    AND ver.project_id = fact1.project_id
    AND ver.plan_version_id = fact1.plan_version_id
    AND ver.plan_type_code = fact1.plan_type_code   /* 4471527*/
    AND fact1.worker_id = g_worker_id
    AND ver.worker_id = g_worker_id
    AND fact1.rbs_version_id = NVL(ver.rbs_struct_version_id, -1)
   GROUP BY
	fact1.PROJECT_ID
    , fact1.PROJECT_ORGANIZATION_ID
    , fact1.PROJECT_ORG_ID
    , fact1.PROJECT_ELEMENT_ID
    , rollup (qtr.CAL_YEAR_ID,
              period.CAL_QTR_ID,
              period.CAL_PERIOD_ID)
    , fact1.calendar_type
    , fact1.RBS_AGGR_LEVEL
    , fact1.WBS_ROLLUP_FLAG
    , fact1.PRG_ROLLUP_FLAG
    , fact1.CURR_RECORD_TYPE_ID
    , fact1.CURRENCY_CODE
    , fact1.RBS_ELEMENT_ID
    , fact1.RBS_VERSION_ID
    , fact1.PLAN_VERSION_ID
    , fact1.PLAN_TYPE_ID
    , fact1.PLAN_TYPE_CODE )
   WHERE period_type_id = 2048;
Line: 1115

    INSERT INTO pji_fp_aggr_pjp1
    (
       WORKER_ID
     , PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
     , ACT_LABOR_HRS
     , ACT_EQUIP_HRS
     , ACT_LABOR_BRDN_COST
     , ACT_EQUIP_BRDN_COST
     , ACT_BRDN_COST
     , ACT_RAW_COST
     , ACT_REVENUE
     , ACT_LABOR_RAW_COST
     , ACT_EQUIP_RAW_COST
     , ETC_LABOR_HRS
     , ETC_EQUIP_HRS
     , ETC_LABOR_BRDN_COST
     , ETC_EQUIP_BRDN_COST
     , ETC_BRDN_COST
     , ETC_RAW_COST
     , ETC_LABOR_RAW_COST
     , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , TIME_DANGLING_FLAG
     , RATE_DANGLING_FLAG
     , PRG_LEVEL
     , PLAN_TYPE_CODE
	)
   SELECT
           g_worker_id worker_id
         , a.PROJECT_ID
         , a.PROJECT_ORG_ID
         , a.PROJECT_ORGANIZATION_ID
         , a.PROJECT_ELEMENT_ID
         , a.TIME_ID
         , a.PERIOD_TYPE_ID
         , a.CALENDAR_TYPE
         , a.RBS_AGGR_LEVEL
         , a.WBS_ROLLUP_FLAG
         , a.PRG_ROLLUP_FLAG
         , a.CURR_RECORD_TYPE_ID
         , a.CURRENCY_CODE
         , a.RBS_ELEMENT_ID
         , a.RBS_VERSION_ID
         , a.PLAN_VERSION_ID
         , a.PLAN_TYPE_ID
	 , SUM(ROUND (nvl(a.raw_cost,0)*a.factor/a.mau)*a.mau) raw_cost
	 , SUM(ROUND (nvl(a.brdn_cost,0)*a.factor/a.mau)*a.mau) brdn_cost
	 , SUM(ROUND (nvl(a.revenue,0)*a.factor/a.mau)*a.mau) revenue
	 , SUM(ROUND (nvl(a.bill_raw_cost,0)*a.factor/a.mau)*a.mau) bill_raw_cost
	 , SUM(ROUND (nvl(a.bill_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_brdn_cost
	 , SUM(ROUND (nvl(a.bill_labor_raw_cost,0)*a.factor/a.mau)*a.mau) bill_labor_raw_cost
	 , SUM(ROUND (nvl(a.bill_labor_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_labor_brdn_cost
	 , SUM(ROUND (nvl(a.bill_labor_hrs,0)*a.factor/a.mau)*a.mau) bill_labor_hrs
	 , SUM(ROUND (nvl(a.equipment_raw_cost,0)*a.factor/a.mau)*a.mau) equipment_raw_cost
	 , SUM(ROUND (nvl(a.equipment_brdn_cost,0)*a.factor/a.mau)*a.mau) equipment_brdn_cost
	 , SUM(ROUND (nvl(a.capitalizable_raw_cost,0)*a.factor/a.mau)*a.mau) capitalizable_raw_cost
	 , SUM(ROUND (nvl(a.capitalizable_brdn_cost,0)*a.factor/a.mau)*a.mau) capitalizable_brdn_cost
	 , SUM(ROUND (nvl(a.labor_raw_cost,0)*a.factor/a.mau)*a.mau) labor_raw_cost
	 , SUM(ROUND (nvl(a.labor_brdn_cost,0)*a.factor/a.mau)*a.mau) labor_brdn_cost
	 , SUM(ROUND (nvl(a.labor_hrs,0)*a.factor/a.mau)*a.mau) labor_hrs
	 , SUM(ROUND (nvl(a.labor_revenue,0)*a.factor/a.mau)*a.mau) labor_revenue
	 , SUM(ROUND (nvl(a.equipment_hours,0)*a.factor/a.mau)*a.mau) equipment_hours
	 , SUM(ROUND (nvl(a.billable_equipment_hours,0)*a.factor/a.mau)*a.mau) billable_equipment_hours
	 , SUM(ROUND (nvl(a.sup_inv_committed_cost,0)*a.factor/a.mau)*a.mau) sup_inv_committed_cost
	 , SUM(ROUND (nvl(a.po_committed_cost,0)*a.factor/a.mau)*a.mau) po_committed_cost
	 , SUM(ROUND (nvl(a.pr_committed_cost,0)*a.factor/a.mau)*a.mau) pr_committed_cost
	 , SUM(ROUND (nvl(a.oth_committed_cost,0)*a.factor/a.mau)*a.mau) oth_committed_cost
	 , SUM(ROUND (nvl(a.ACT_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ACT_LABOR_HRS
	 , SUM(ROUND (nvl(a.ACT_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_HRS
	 , SUM(ROUND (nvl(a.ACT_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_BRDN_COST
	 , SUM(ROUND (nvl(a.ACT_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_BRDN_COST
	 , SUM(ROUND (nvl(a.ACT_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_BRDN_COST
	 , SUM(ROUND (nvl(a.ACT_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_RAW_COST
	 , SUM(ROUND (nvl(a.ACT_REVENUE,0)*a.factor/a.mau)*a.mau) ACT_REVENUE
	 , SUM(ROUND (nvl(a.ACT_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_RAW_COST
	 , SUM(ROUND (nvl(a.ACT_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_RAW_COST
	 , SUM(ROUND (nvl(a.ETC_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ETC_LABOR_HRS
	 , SUM(ROUND (nvl(a.ETC_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_HRS
	 , SUM(ROUND (nvl(a.ETC_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_BRDN_COST
	 , SUM(ROUND (nvl(a.ETC_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_BRDN_COST
	 , SUM(ROUND (nvl(a.ETC_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_BRDN_COST
	 , SUM(ROUND (nvl(a.ETC_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_RAW_COST
	 , SUM(ROUND (nvl(a.ETC_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_RAW_COST
	 , SUM(ROUND (nvl(a.ETC_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_RAW_COST
	 , SUM(ROUND (nvl(a.custom1,0)*a.factor/a.mau)*a.mau) custom1
	 , SUM(ROUND (nvl(a.custom2,0)*a.factor/a.mau)*a.mau) custom2
	 , SUM(ROUND (nvl(a.custom3,0)*a.factor/a.mau)*a.mau) custom3
	 , SUM(ROUND (nvl(a.custom4,0)*a.factor/a.mau)*a.mau) custom4
	 , SUM(ROUND (nvl(a.custom5,0)*a.factor/a.mau)*a.mau) custom5
	 , SUM(ROUND (nvl(a.custom6,0)*a.factor/a.mau)*a.mau) custom6
	 , SUM(ROUND (nvl(a.custom7,0)*a.factor/a.mau)*a.mau) custom7
	 , SUM(ROUND (nvl(a.custom8,0)*a.factor/a.mau)*a.mau) custom8
	 , SUM(ROUND (nvl(a.custom9,0)*a.factor/a.mau)*a.mau) custom9
	 , SUM(ROUND (nvl(a.custom10,0)*a.factor/a.mau)*a.mau) custom10
	 , SUM(ROUND (nvl(a.custom11,0)*a.factor/a.mau)*a.mau) custom11
	 , SUM(ROUND (nvl(a.custom12,0)*a.factor/a.mau)*a.mau) custom12
	 , SUM(ROUND (nvl(a.custom13,0)*a.factor/a.mau)*a.mau) custom13
	 , SUM(ROUND (nvl(a.custom14,0)*a.factor/a.mau)*a.mau) custom14
	 , SUM(ROUND (nvl(a.custom15,0)*a.factor/a.mau)*a.mau) custom15
         , a.TIME_DANGLING_FLAG
         , a.RATE_DANGLING_FLAG
         , g_default_prg_level prg_level
         , a.PLAN_TYPE_CODE  PLAN_TYPE_CODE
   FROM (
   SELECT /*+ use_hash(fact) */   -- Modified hints for bug 13897252
         fact.project_id  project_id
   	 , fact.project_ORG_ID project_ORG_ID
   	 , fact.project_ORGANIZATION_ID project_ORGANIZATION_ID
   	 , fact.PROJECT_ELEMENT_ID PROJECT_ELEMENT_ID
   	 , pa_cal.ent_period_id TIME_ID
   	 , fact.PERIOD_TYPE_ID PERIOD_TYPE_ID
   	 , 'E' CALENDAR_TYPE -- fact.CALENDAR_TYPE
         , fact.RBS_AGGR_LEVEL
         , fact.WBS_ROLLUP_FLAG
         , fact.PRG_ROLLUP_FLAG
   	 , fact.CURR_RECORD_TYPE_ID CURR_RECORD_TYPE_ID
   	 , fact.CURRENCY_CODE CURRENCY_CODE
   	 , fact.RBS_ELEMENT_ID RBS_ELEMENT_ID
   	 , fact.RBS_VERSION_ID RBS_VERSION_ID
   	 , fact.PLAN_VERSION_ID PLAN_VERSION_ID
	 , fact.PLAN_TYPE_ID  PLAN_TYPE_ID
	 , fact.raw_cost
	 , fact.brdn_cost
	 , fact.revenue
	 , fact.bill_raw_cost
	 , fact.bill_brdn_cost
	 , fact.bill_labor_raw_cost
	 , fact.bill_labor_brdn_cost
	 , fact.bill_labor_hrs
	 , fact.equipment_raw_cost
	 , fact.equipment_brdn_cost
	 , fact.capitalizable_raw_cost
	 , fact.capitalizable_brdn_cost
	 , fact.labor_raw_cost
	 , fact.labor_brdn_cost
	 , fact.labor_hrs
	 , fact.labor_revenue
	 , fact.equipment_hours
	 , fact.billable_equipment_hours
	 , fact.sup_inv_committed_cost
	 , fact.po_committed_cost
	 , fact.pr_committed_cost
	 , fact.oth_committed_cost
	 , fact.ACT_LABOR_HRS
	 , fact.ACT_EQUIP_HRS
	 , fact.ACT_LABOR_BRDN_COST
	 , fact.ACT_EQUIP_BRDN_COST
	 , fact.ACT_BRDN_COST
	 , fact.ACT_RAW_COST
	 , fact.ACT_REVENUE
	 , fact.ACT_LABOR_RAW_COST
	 , fact.ACT_EQUIP_RAW_COST
	 , fact.ETC_LABOR_HRS
	 , fact.ETC_EQUIP_HRS
	 , fact.ETC_LABOR_BRDN_COST
	 , fact.ETC_EQUIP_BRDN_COST
	 , fact.ETC_BRDN_COST
	 , fact.ETC_RAW_COST
	 , fact.ETC_LABOR_RAW_COST
	 , fact.ETC_EQUIP_RAW_COST
	 , fact.custom1
	 , fact.custom2
	 , fact.custom3
	 , fact.custom4
	 , fact.custom5
	 , fact.custom6
	 , fact.custom7
	 , fact.custom8
	 , fact.custom9
	 , fact.custom10
	 , fact.custom11
	 , fact.custom12
	 , fact.custom13
	 , fact.custom14
	 , fact.custom15
	 , fact.time_dangling_flag time_dangling_flag
	 , fact.rate_dangling_flag rate_dangling_flag
         , cur.mau mau
         , (LEAST(non_pa_cal.end_date,pa_cal.end_date) -
                    Greatest(non_pa_cal.start_date,pa_cal.start_date)+1)
                              / (non_pa_cal.end_date - non_pa_cal.start_date+1) factor
         , fact.plan_type_code plan_type_code
   FROM   pji_fp_aggr_pjp1 fact
        , pji_time_cal_period_v  non_pa_cal
        , pji_time_ent_period_v  pa_cal
        , pji_fm_extr_plnver4  ver
        , (SELECT currency_code,
                   decode(nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION))),
                      null, 0.01,
                         0, 1,
                         nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION)))) mau
              FROM FND_CURRENCIES) cur
   WHERE  fact.CALENDAR_TYPE IN ('P', 'G')
      AND fact.worker_id = g_worker_id
      AND VER.worker_id = g_worker_id
      AND non_pa_cal.cal_period_id = fact.time_id
      AND fact.line_type like 'OF%'
      AND non_pa_cal.start_date<= pa_cal.end_date
      AND non_pa_cal.end_Date >=pa_cal.start_date
      AND fact.currency_code = cur.currency_code
      AND fact.time_dangling_flag IS NULL
      AND fact.rate_dangling_flag IS NULL
      AND fact.period_type_id = 32
      AND fact.plan_version_id = ver.plan_version_id
      AND fact.plan_type_code = ver.plan_type_code     /* 4471527 */
      AND ver.wp_flag = 'N'
      AND ver.baselined_flag = 'Y'
	AND fact.rbs_version_id = NVL (ver.rbs_struct_version_id , -1)
      AND ver.plan_version_id > 0
	  ) a
     WHERE a.factor >0
	  GROUP BY
	   a.PROJECT_ID
     , a.PROJECT_ORG_ID
     , a.PROJECT_ORGANIZATION_ID
     , a.PROJECT_ELEMENT_ID
     , a.TIME_ID
     , a.PERIOD_TYPE_ID
     , a.CALENDAR_TYPE
     , a.RBS_AGGR_LEVEL
     , a.WBS_ROLLUP_FLAG
     , a.PRG_ROLLUP_FLAG
     , a.CURR_RECORD_TYPE_ID
     , a.CURRENCY_CODE
     , a.RBS_ELEMENT_ID
     , a.RBS_VERSION_ID
     , a.PLAN_VERSION_ID
     , a.PLAN_TYPE_ID
     , a.TIME_DANGLING_FLAG
     , a.RATE_DANGLING_FLAG
     , a.PLAN_TYPE_CODE ;
Line: 1410

    INSERT INTO pji_fp_aggr_pjp1  -- Non time phased entries in pjp1 table.
    (
       WORKER_ID
     , PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
     , ACT_LABOR_HRS
     , ACT_EQUIP_HRS
     , ACT_LABOR_BRDN_COST
     , ACT_EQUIP_BRDN_COST
     , ACT_BRDN_COST
     , ACT_RAW_COST
     , ACT_REVENUE
     , ACT_LABOR_RAW_COST
     , ACT_EQUIP_RAW_COST
     , ETC_LABOR_HRS
     , ETC_EQUIP_HRS
     , ETC_LABOR_BRDN_COST
     , ETC_EQUIP_BRDN_COST
     , ETC_BRDN_COST
     , ETC_RAW_COST
     , ETC_LABOR_RAW_COST
     , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , TIME_DANGLING_FLAG
     , RATE_DANGLING_FLAG
     , PRG_LEVEL
     , PLAN_TYPE_CODE
   )
   SELECT
           g_worker_id worker_id
         , a.PROJECT_ID
         , a.PROJECT_ORG_ID
         , a.PROJECT_ORGANIZATION_ID
         , a.PROJECT_ELEMENT_ID
         , a.TIME_ID
         , 32
         , a.CALENDAR_TYPE
         , a.RBS_AGGR_LEVEL
         , a.WBS_ROLLUP_FLAG
         , a.PRG_ROLLUP_FLAG
         , a.CURR_RECORD_TYPE_ID
         , a.CURRENCY_CODE
         , a.RBS_ELEMENT_ID
         , a.RBS_VERSION_ID
         , a.PLAN_VERSION_ID
         , a.PLAN_TYPE_ID
	 , SUM(ROUND (nvl(a.raw_cost,0)*a.factor/a.mau)*a.mau) raw_cost
	 , SUM(ROUND (nvl(a.brdn_cost,0)*a.factor/a.mau)*a.mau) brdn_cost
	 , SUM(ROUND (nvl(a.revenue,0)*a.factor/a.mau)*a.mau) revenue
	 , SUM(ROUND (nvl(a.bill_raw_cost,0)*a.factor/a.mau)*a.mau) bill_raw_cost
	 , SUM(ROUND (nvl(a.bill_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_brdn_cost
	 , SUM(ROUND (nvl(a.bill_labor_raw_cost,0)*a.factor/a.mau)*a.mau) bill_labor_raw_cost
	 , SUM(ROUND (nvl(a.bill_labor_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_labor_brdn_cost
	 , SUM(ROUND (nvl(a.bill_labor_hrs,0)*a.factor/a.mau)*a.mau) bill_labor_hrs
	 , SUM(ROUND (nvl(a.equipment_raw_cost,0)*a.factor/a.mau)*a.mau) equipment_raw_cost
	 , SUM(ROUND (nvl(a.equipment_brdn_cost,0)*a.factor/a.mau)*a.mau) equipment_brdn_cost
	 , SUM(ROUND (nvl(a.capitalizable_raw_cost,0)*a.factor/a.mau)*a.mau) capitalizable_raw_cost
	 , SUM(ROUND (nvl(a.capitalizable_brdn_cost,0)*a.factor/a.mau)*a.mau) capitalizable_brdn_cost
	 , SUM(ROUND (nvl(a.labor_raw_cost,0)*a.factor/a.mau)*a.mau) labor_raw_cost
	 , SUM(ROUND (nvl(a.labor_brdn_cost,0)*a.factor/a.mau)*a.mau) labor_brdn_cost
	 , SUM(ROUND (nvl(a.labor_hrs,0)*a.factor/a.mau)*a.mau) labor_hrs
	 , SUM(ROUND (nvl(a.labor_revenue,0)*a.factor/a.mau)*a.mau) labor_revenue
	 , SUM(ROUND (nvl(a.equipment_hours,0)*a.factor/a.mau)*a.mau) equipment_hours
	 , SUM(ROUND (nvl(a.billable_equipment_hours,0)*a.factor/a.mau)*a.mau) billable_equipment_hours
	 , SUM(ROUND (nvl(a.sup_inv_committed_cost,0)*a.factor/a.mau)*a.mau) sup_inv_committed_cost
	 , SUM(ROUND (nvl(a.po_committed_cost,0)*a.factor/a.mau)*a.mau) po_committed_cost
	 , SUM(ROUND (nvl(a.pr_committed_cost,0)*a.factor/a.mau)*a.mau) pr_committed_cost
	 , SUM(ROUND (nvl(a.oth_committed_cost,0)*a.factor/a.mau)*a.mau) oth_committed_cost
	 , SUM(ROUND (nvl(a.ACT_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ACT_LABOR_HRS
	 , SUM(ROUND (nvl(a.ACT_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_HRS
	 , SUM(ROUND (nvl(a.ACT_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_BRDN_COST
	 , SUM(ROUND (nvl(a.ACT_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_BRDN_COST
	 , SUM(ROUND (nvl(a.ACT_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_BRDN_COST
	 , SUM(ROUND (nvl(a.ACT_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_RAW_COST
	 , SUM(ROUND (nvl(a.ACT_REVENUE,0)*a.factor/a.mau)*a.mau) ACT_REVENUE
	 , SUM(ROUND (nvl(a.ACT_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_RAW_COST
	 , SUM(ROUND (nvl(a.ACT_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_RAW_COST
	 , SUM(ROUND (nvl(a.ETC_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ETC_LABOR_HRS
	 , SUM(ROUND (nvl(a.ETC_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_HRS
	 , SUM(ROUND (nvl(a.ETC_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_BRDN_COST
	 , SUM(ROUND (nvl(a.ETC_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_BRDN_COST
	 , SUM(ROUND (nvl(a.ETC_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_BRDN_COST
	 , SUM(ROUND (nvl(a.ETC_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_RAW_COST
	 , SUM(ROUND (nvl(a.ETC_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_RAW_COST
	 , SUM(ROUND (nvl(a.ETC_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_RAW_COST
	 , SUM(ROUND (nvl(a.custom1,0)*a.factor/a.mau)*a.mau) custom1
	 , SUM(ROUND (nvl(a.custom2,0)*a.factor/a.mau)*a.mau) custom2
	 , SUM(ROUND (nvl(a.custom3,0)*a.factor/a.mau)*a.mau) custom3
	 , SUM(ROUND (nvl(a.custom4,0)*a.factor/a.mau)*a.mau) custom4
	 , SUM(ROUND (nvl(a.custom5,0)*a.factor/a.mau)*a.mau) custom5
	 , SUM(ROUND (nvl(a.custom6,0)*a.factor/a.mau)*a.mau) custom6
	 , SUM(ROUND (nvl(a.custom7,0)*a.factor/a.mau)*a.mau) custom7
	 , SUM(ROUND (nvl(a.custom8,0)*a.factor/a.mau)*a.mau) custom8
	 , SUM(ROUND (nvl(a.custom9,0)*a.factor/a.mau)*a.mau) custom9
	 , SUM(ROUND (nvl(a.custom10,0)*a.factor/a.mau)*a.mau) custom10
	 , SUM(ROUND (nvl(a.custom11,0)*a.factor/a.mau)*a.mau) custom11
	 , SUM(ROUND (nvl(a.custom12,0)*a.factor/a.mau)*a.mau) custom12
	 , SUM(ROUND (nvl(a.custom13,0)*a.factor/a.mau)*a.mau) custom13
	 , SUM(ROUND (nvl(a.custom14,0)*a.factor/a.mau)*a.mau) custom14
	 , SUM(ROUND (nvl(a.custom15,0)*a.factor/a.mau)*a.mau) custom15
         , a.TIME_DANGLING_FLAG
         , a.RATE_DANGLING_FLAG
         , g_default_prg_level prg_level
         , a.plan_type_code plan_type_code
   FROM (
    SELECT /*+ NO_MERGE parallel(fact) parallel(ver) use_hash(fact) use_hash(ver) */
           fact.project_id  project_id
   	 , fact.project_ORG_ID project_ORG_ID
   	 , fact.project_ORGANIZATION_ID project_ORGANIZATION_ID
   	 , fact.PROJECT_ELEMENT_ID PROJECT_ELEMENT_ID
   	 , entCal.ent_period_id TIME_ID
   	 , fact.PERIOD_TYPE_ID PERIOD_TYPE_ID
   	 , 'E' CALENDAR_TYPE -- fact.CALENDAR_TYPE
         , fact.RBS_AGGR_LEVEL
         , fact.WBS_ROLLUP_FLAG
         , fact.PRG_ROLLUP_FLAG
   	 , fact.CURR_RECORD_TYPE_ID CURR_RECORD_TYPE_ID
   	 , fact.CURRENCY_CODE CURRENCY_CODE
   	 , fact.RBS_ELEMENT_ID RBS_ELEMENT_ID
   	 , fact.RBS_VERSION_ID RBS_VERSION_ID
   	 , fact.PLAN_VERSION_ID PLAN_VERSION_ID
	 , fact.PLAN_TYPE_ID  PLAN_TYPE_ID
	 , fact.raw_cost
	 , fact.brdn_cost
	 , fact.revenue
	 , fact.bill_raw_cost
	 , fact.bill_brdn_cost
	 , fact.bill_labor_raw_cost
	 , fact.bill_labor_brdn_cost
	 , fact.bill_labor_hrs
	 , fact.equipment_raw_cost
	 , fact.equipment_brdn_cost
	 , fact.capitalizable_raw_cost
	 , fact.capitalizable_brdn_cost
	 , fact.labor_raw_cost
	 , fact.labor_brdn_cost
	 , fact.labor_hrs
	 , fact.labor_revenue
	 , fact.equipment_hours
	 , fact.billable_equipment_hours
	 , fact.sup_inv_committed_cost
	 , fact.po_committed_cost
	 , fact.pr_committed_cost
	 , fact.oth_committed_cost
	 , fact.ACT_LABOR_HRS
	 , fact.ACT_EQUIP_HRS
	 , fact.ACT_LABOR_BRDN_COST
	 , fact.ACT_EQUIP_BRDN_COST
	 , fact.ACT_BRDN_COST
	 , fact.ACT_RAW_COST
	 , fact.ACT_REVENUE
	 , fact.ACT_LABOR_RAW_COST
	 , fact.ACT_EQUIP_RAW_COST
	 , fact.ETC_LABOR_HRS
	 , fact.ETC_EQUIP_HRS
	 , fact.ETC_LABOR_BRDN_COST
	 , fact.ETC_EQUIP_BRDN_COST
	 , fact.ETC_BRDN_COST
	 , fact.ETC_RAW_COST
	 , fact.ETC_LABOR_RAW_COST
	 , fact.ETC_EQUIP_RAW_COST
	 , fact.custom1
	 , fact.custom2
	 , fact.custom3
	 , fact.custom4
	 , fact.custom5
	 , fact.custom6
	 , fact.custom7
	 , fact.custom8
	 , fact.custom9
	 , fact.custom10
	 , fact.custom11
	 , fact.custom12
	 , fact.custom13
	 , fact.custom14
	 , fact.custom15
	 , fact.time_dangling_flag time_dangling_flag
	 , fact.rate_dangling_flag rate_dangling_flag
         , cur.mau mau
         , (LEAST(fact.end_date,entCal.end_date) - Greatest(fact.start_date,entCal.start_date)+1)
                              / (fact.end_date - fact.start_date+1) factor
         , fact.plan_type_code plan_type_code
   FROM   pji_fp_aggr_pjp1 fact
        , pji_time_ent_period_v  entCal
        , pji_fm_extr_plnver4  ver
        , (SELECT currency_code,
                   decode(nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION))),
                      null, 0.01,
                         0, 1,
                         nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION)))) mau
              FROM FND_CURRENCIES) cur
   WHERE  1=1
      AND fact.CALENDAR_TYPE = 'A'
      AND fact.worker_id = g_worker_id
      AND ver.worker_id = g_worker_id
      AND fact.start_date IS NOT NULL
      AND fact.end_date IS NOT NULL
      AND fact.time_dangling_flag IS NULL
      AND fact.rate_dangling_flag IS NULL
      AND fact.line_type = 'NTP'
      AND fact.period_type_id = 2048
      AND fact.plan_version_id = ver.plan_version_id
      AND fact.plan_type_code = ver.plan_type_code  /* 4471527 */
      AND ver.wp_flag = 'N'
      AND ver.baselined_flag = 'Y'
      AND ver.time_phased_type_code = 'N'
	AND fact.rbs_version_id = NVL(ver.rbs_struct_version_id , -1)
      AND cur.currency_code = fact.currency_code
      AND ( fact.start_date <= entCal.end_date AND fact.end_date >= entCal.start_date )
      AND ver.plan_version_id > 0
	  ) a
   WHERE a.factor>0
  GROUP BY
       a.PROJECT_ID
     , a.PROJECT_ORG_ID
     , a.PROJECT_ORGANIZATION_ID
     , a.PROJECT_ELEMENT_ID
     , a.TIME_ID
     , a.PERIOD_TYPE_ID
     , a.CALENDAR_TYPE
     , a.RBS_AGGR_LEVEL
     , a.WBS_ROLLUP_FLAG
     , a.PRG_ROLLUP_FLAG
     , a.CURR_RECORD_TYPE_ID
     , a.CURRENCY_CODE
     , a.RBS_ELEMENT_ID
     , a.RBS_VERSION_ID
     , a.PLAN_VERSION_ID
     , a.PLAN_TYPE_ID
     , a.TIME_DANGLING_FLAG
     , a.RATE_DANGLING_FLAG
     , a.PLAN_TYPE_CODE  ;
Line: 1705

    INSERT INTO pji_fp_aggr_pjp1
    (
       worker_id
     , PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
     , ACT_LABOR_HRS
     , ACT_EQUIP_HRS
     , ACT_LABOR_BRDN_COST
     , ACT_EQUIP_BRDN_COST
     , ACT_BRDN_COST
     , ACT_RAW_COST
     , ACT_REVENUE
     , ACT_LABOR_RAW_COST
     , ACT_EQUIP_RAW_COST
     , ETC_LABOR_HRS
     , ETC_EQUIP_HRS
     , ETC_LABOR_BRDN_COST
     , ETC_EQUIP_BRDN_COST
     , ETC_BRDN_COST
     , ETC_RAW_COST
     , ETC_LABOR_RAW_COST
     , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , TIME_DANGLING_FLAG
     , RATE_DANGLING_FLAG
     , PRG_LEVEL
     , PLAN_TYPE_CODE
	)
   SELECT
       g_worker_id worker_id
     , a.PROJECT_ID
     , a.PROJECT_ORG_ID
     , a.PROJECT_ORGANIZATION_ID
     , a.PROJECT_ELEMENT_ID
     , a.TIME_ID
     , a.PERIOD_TYPE_ID
     , a.CALENDAR_TYPE
     , a.RBS_AGGR_LEVEL
     , a.WBS_ROLLUP_FLAG
     , a.PRG_ROLLUP_FLAG
     , a.CURR_RECORD_TYPE_ID
     , a.CURRENCY_CODE
     , a.RBS_ELEMENT_ID
     , a.RBS_VERSION_ID
     , a.PLAN_VERSION_ID
     , a.PLAN_TYPE_ID
     , SUM(a.RAW_COST       )
     , SUM(a.BRDN_COST 	)
     , SUM(a.REVENUE	)
     , SUM(a.BILL_RAW_COST )
     , SUM(a.BILL_BRDN_COST )
     , SUM(a.BILL_LABOR_RAW_COST )
     , SUM(a.BILL_LABOR_BRDN_COST )
     , SUM(a.BILL_LABOR_HRS )
     , SUM(a.EQUIPMENT_RAW_COST )
     , SUM(a.EQUIPMENT_BRDN_COST )
     , SUM(a.CAPITALIZABLE_RAW_COST )
     , SUM(a.CAPITALIZABLE_BRDN_COST )
     , SUM(a.LABOR_RAW_COST )
     , SUM(a.LABOR_BRDN_COST)
     , SUM(a.LABOR_HRS )
     , SUM(a.LABOR_REVENUE )
     , SUM(a.EQUIPMENT_HOURS )
     , SUM(a.BILLABLE_EQUIPMENT_HOURS)
     , SUM(a.SUP_INV_COMMITTED_COST)
     , SUM(a.PO_COMMITTED_COST )
     , SUM(a.PR_COMMITTED_COST )
     , SUM(a.OTH_COMMITTED_COST)
     , SUM(a.ACT_LABOR_HRS)
     , SUM(a.ACT_EQUIP_HRS)
     , SUM(a.ACT_LABOR_BRDN_COST)
     , SUM(a.ACT_EQUIP_BRDN_COST)
     , SUM(a.ACT_BRDN_COST    )
     , SUM(a.ACT_RAW_COST    )
     , SUM(a.ACT_REVENUE    )
     , SUM(a.ACT_LABOR_RAW_COST)
     , SUM(a.ACT_EQUIP_RAW_COST)
     , SUM(a.ETC_LABOR_HRS         )
     , SUM(a.ETC_EQUIP_HRS        )
     , SUM(a.ETC_LABOR_BRDN_COST )
     , SUM(a.ETC_EQUIP_BRDN_COST)
     , SUM(a.ETC_BRDN_COST )
     , SUM(a.ETC_RAW_COST)
     , SUM(a.ETC_LABOR_RAW_COST)
     , SUM(a.ETC_EQUIP_RAW_COST)
     , SUM(a.CUSTOM1	)
     , SUM(a.CUSTOM2	)
     , SUM(a.CUSTOM3	)
     , SUM(a.CUSTOM4	)
     , SUM(a.CUSTOM5	)
     , SUM(a.CUSTOM6	)
     , SUM(a.CUSTOM7	)
     , SUM(a.CUSTOM8	)
     , SUM(a.CUSTOM9	)
     , SUM(a.CUSTOM10	)
     , SUM(a.CUSTOM11	)
     , SUM(a.CUSTOM12	)
     , SUM(a.CUSTOM13	)
     , SUM(a.CUSTOM14	)
     , SUM(a.CUSTOM15	)
     , a.TIME_DANGLING_FLAG
     , a.RATE_DANGLING_FLAG
     , g_default_prg_level prg_level
     , a.plan_type_code plan_type_code
   FROM (
   SELECT /*+ PARALLEL(fact) PARALLEL(calDet) */
           fact.project_id  project_id
   	 , fact.project_ORG_ID project_ORG_ID
   	 , fact.project_ORGANIZATION_ID project_ORGANIZATION_ID
   	 , fact.PROJECT_ELEMENT_ID PROJECT_ELEMENT_ID
   	 , calDet.sec_cal_period_id TIME_ID
   	 , fact.PERIOD_TYPE_ID PERIOD_TYPE_ID
   	 , DECODE(fact.CALENDAR_TYPE, 'P', 'G', 'G', 'P') CALENDAR_TYPE
         , fact.RBS_AGGR_LEVEL
         , fact.WBS_ROLLUP_FLAG
         , fact.PRG_ROLLUP_FLAG
   	 , fact.CURR_RECORD_TYPE_ID CURR_RECORD_TYPE_ID
   	 , fact.CURRENCY_CODE CURRENCY_CODE
   	 , fact.RBS_ELEMENT_ID RBS_ELEMENT_ID
   	 , fact.RBS_VERSION_ID RBS_VERSION_ID
   	 , fact.PLAN_VERSION_ID PLAN_VERSION_ID
	 , fact.PLAN_TYPE_ID  PLAN_TYPE_ID
	 , ROUND (nvl(fact.raw_cost,0)*calDet.factor/cur.mau)*cur.mau raw_cost
	 , ROUND (nvl(fact.brdn_cost,0)*calDet.factor/cur.mau)*cur.mau brdn_cost
	 , ROUND (nvl(fact.revenue,0)*calDet.factor/cur.mau)*cur.mau revenue
	 , ROUND (nvl(fact.bill_raw_cost,0)*calDet.factor/cur.mau)*cur.mau bill_raw_cost
	 , ROUND (nvl(fact.bill_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau bill_brdn_cost
	 , ROUND (nvl(fact.bill_labor_raw_cost,0)*calDet.factor/cur.mau)*cur.mau bill_labor_raw_cost
	 , ROUND (nvl(fact.bill_labor_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau bill_labor_brdn_cost
	 , ROUND (nvl(fact.bill_labor_hrs,0)*calDet.factor/cur.mau)*cur.mau bill_labor_hrs
	 , ROUND (nvl(fact.equipment_raw_cost,0)*calDet.factor/cur.mau)*cur.mau equipment_raw_cost
	 , ROUND (nvl(fact.equipment_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau equipment_brdn_cost
	 , ROUND (nvl(fact.capitalizable_raw_cost,0)*calDet.factor/cur.mau)*cur.mau capitalizable_raw_cost
	 , ROUND (nvl(fact.capitalizable_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau capitalizable_brdn_cost
	 , ROUND (nvl(fact.labor_raw_cost,0)*calDet.factor/cur.mau)*cur.mau labor_raw_cost
	 , ROUND (nvl(fact.labor_brdn_cost,0)*calDet.factor/cur.mau)*cur.mau labor_brdn_cost
	 , ROUND (nvl(fact.labor_hrs,0)*calDet.factor/cur.mau)*cur.mau labor_hrs
	 , ROUND (nvl(fact.labor_revenue,0)*calDet.factor/cur.mau)*cur.mau labor_revenue
	 , ROUND (nvl(fact.equipment_hours,0)*calDet.factor/cur.mau)*cur.mau equipment_hours
	 , ROUND (nvl(fact.billable_equipment_hours,0)*calDet.factor/cur.mau)*cur.mau billable_equipment_hours
	 , ROUND (nvl(fact.sup_inv_committed_cost,0)*calDet.factor/cur.mau)*cur.mau sup_inv_committed_cost
	 , ROUND (nvl(fact.po_committed_cost,0)*calDet.factor/cur.mau)*cur.mau po_committed_cost
	 , ROUND (nvl(fact.pr_committed_cost,0)*calDet.factor/cur.mau)*cur.mau pr_committed_cost
	 , ROUND (nvl(fact.oth_committed_cost,0)*calDet.factor/cur.mau)*cur.mau oth_committed_cost
	 , ROUND (nvl(fact.ACT_LABOR_HRS,0)*calDet.factor/cur.mau)*cur.mau ACT_LABOR_HRS
	 , ROUND (nvl(fact.ACT_EQUIP_HRS,0)*calDet.factor/cur.mau)*cur.mau ACT_EQUIP_HRS
	 , ROUND (nvl(fact.ACT_LABOR_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_LABOR_BRDN_COST
	 , ROUND (nvl(fact.ACT_EQUIP_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_EQUIP_BRDN_COST
	 , ROUND (nvl(fact.ACT_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_BRDN_COST
	 , ROUND (nvl(fact.ACT_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_RAW_COST
	 , ROUND (nvl(fact.ACT_REVENUE,0)*calDet.factor/cur.mau)*cur.mau ACT_REVENUE
	 , ROUND (nvl(fact.ACT_LABOR_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_LABOR_RAW_COST
	 , ROUND (nvl(fact.ACT_EQUIP_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ACT_EQUIP_RAW_COST
	 , ROUND (nvl(fact.ETC_LABOR_HRS,0)*calDet.factor/cur.mau)*cur.mau ETC_LABOR_HRS
	 , ROUND (nvl(fact.ETC_EQUIP_HRS,0)*calDet.factor/cur.mau)*cur.mau ETC_EQUIP_HRS
	 , ROUND (nvl(fact.ETC_LABOR_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_LABOR_BRDN_COST
	 , ROUND (nvl(fact.ETC_EQUIP_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_EQUIP_BRDN_COST
	 , ROUND (nvl(fact.ETC_BRDN_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_BRDN_COST
	 , ROUND (nvl(fact.ETC_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_RAW_COST
	 , ROUND (nvl(fact.ETC_LABOR_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_LABOR_RAW_COST
	 , ROUND (nvl(fact.ETC_EQUIP_RAW_COST,0)*calDet.factor/cur.mau)*cur.mau ETC_EQUIP_RAW_COST
	 , ROUND (nvl(fact.custom1,0)*calDet.factor/cur.mau)*cur.mau custom1
	 , ROUND (nvl(fact.custom2,0)*calDet.factor/cur.mau)*cur.mau custom2
	 , ROUND (nvl(fact.custom3,0)*calDet.factor/cur.mau)*cur.mau custom3
	 , ROUND (nvl(fact.custom4,0)*calDet.factor/cur.mau)*cur.mau custom4
	 , ROUND (nvl(fact.custom5,0)*calDet.factor/cur.mau)*cur.mau custom5
	 , ROUND (nvl(fact.custom6,0)*calDet.factor/cur.mau)*cur.mau custom6
	 , ROUND (nvl(fact.custom7,0)*calDet.factor/cur.mau)*cur.mau custom7
	 , ROUND (nvl(fact.custom8,0)*calDet.factor/cur.mau)*cur.mau custom8
	 , ROUND (nvl(fact.custom9,0)*calDet.factor/cur.mau)*cur.mau custom9
	 , ROUND (nvl(fact.custom10,0)*calDet.factor/cur.mau)*cur.mau custom10
	 , ROUND (nvl(fact.custom11,0)*calDet.factor/cur.mau)*cur.mau custom11
	 , ROUND (nvl(fact.custom12,0)*calDet.factor/cur.mau)*cur.mau custom12
	 , ROUND (nvl(fact.custom13,0)*calDet.factor/cur.mau)*cur.mau custom13
	 , ROUND (nvl(fact.custom14,0)*calDet.factor/cur.mau)*cur.mau custom14
	 , ROUND (nvl(fact.custom15,0)*calDet.factor/cur.mau)*cur.mau custom15
	 , fact.time_dangling_flag time_dangling_flag
	 , fact.rate_dangling_flag rate_dangling_flag
              , fact.plan_type_code plan_type_code
   FROM   pji_fp_aggr_pjp1 fact,
         (SELECT  /*+ NO_MERGE LEADING (orginfo sec pri ppa ver) USE_HASH(ver) parallel(ver) */
         (LEAST(pri.end_date,sec.end_date) - Greatest(pri.start_date,sec.start_date)+1)
	                      / (pri.end_date - pri.start_date+1) factor,
	         ppa.project_id,
	         ver.rbs_struct_Version_id rbs_struct_version_id,
		 ver.plan_version_id plan_Version_id,
                          ver.plan_type_code plan_type_code ,
		 pri.cal_period_id pri_cal_period_id,
		 sec.cal_period_id sec_cal_period_id,
		 orginfo.org_id
	    FROM
                 pji_time_cal_period_v  pri
               , pji_org_extr_info  orginfo
               , pji_time_cal_period_v  sec
               , pji_fm_extr_plnver4  ver
	       , pa_projects_all ppa
           WHERE  1=1
             AND ppa.org_id=orginfo.org_id
             AND ver.worker_id = g_worker_id
             AND pri.calendar_id in (orginfo.gl_calendar_id,orginfo.pa_calendar_id)
             AND sec.calendar_id in (orginfo.gl_calendar_id,orginfo.pa_calendar_id)
             AND ppa.project_id=ver.project_id
             AND decode(ver.time_phased_type_code,
                       'P',orginfo.pa_calendar_id,'G',orginfo.gl_calendar_id)=pri.calendar_id
             AND decode(ver.time_phased_type_code,
                       'G',orginfo.pa_calendar_id,'P',orginfo.gl_calendar_id)=sec.calendar_id
             AND ver.wp_flag = 'N'
             AND ( sec.start_date <= pri.end_date AND sec.end_date >= pri.start_date )
             AND ver.baselined_flag = 'Y'
             AND ver.plan_version_id > 0 ) calDet,
	   (SELECT currency_code,
	           decode(nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION))),
		      null, 0.01,
		         0, 1,
			 nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION)))) mau
	      FROM FND_CURRENCIES) cur
    WHERE 1=1
      AND calDet.factor > 0
	AND fact.rbs_version_id = NVL(calDet.rbs_struct_version_id , -1)
      AND fact.CALENDAR_TYPE <> p_calendar_type
      AND fact.worker_id = g_worker_id
      AND fact.CALENDAR_TYPE IN ('P', 'G')
      AND CalDet.pri_cal_period_id = fact.time_id
      AND calDet.org_id = fact.PROJECT_ORG_ID
      AND fact.time_dangling_flag IS NULL
      AND fact.rate_dangling_flag IS NULL
      AND fact.period_type_id = 32
      AND fact.line_type like 'OF%' -- 4518721
      AND fact.plan_version_id = calDet.plan_version_id
      AND fact.plan_type_code = calDet.plan_type_code
      AND cur.currency_code = fact.currency_code
	  ) a
	  GROUP BY
	   a.PROJECT_ID
     , a.PROJECT_ORG_ID
     , a.PROJECT_ORGANIZATION_ID
     , a.PROJECT_ELEMENT_ID
     , a.TIME_ID
     , a.PERIOD_TYPE_ID
     , a.CALENDAR_TYPE
     , a.RBS_AGGR_LEVEL
     , a.WBS_ROLLUP_FLAG
     , a.PRG_ROLLUP_FLAG
     , a.CURR_RECORD_TYPE_ID
     , a.CURRENCY_CODE
     , a.RBS_ELEMENT_ID
     , a.RBS_VERSION_ID
     , a.PLAN_VERSION_ID
     , a.PLAN_TYPE_ID
     , a.TIME_DANGLING_FLAG
     , a.RATE_DANGLING_FLAG
     , a.plan_type_code ;
Line: 2024

    INSERT INTO pji_fp_aggr_pjp1  -- Non time phased entries..
    (
       worker_id
     , PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     -- , PARTITION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
     , ACT_LABOR_HRS
     , ACT_EQUIP_HRS
     , ACT_LABOR_BRDN_COST
     , ACT_EQUIP_BRDN_COST
     , ACT_BRDN_COST
     , ACT_RAW_COST
     , ACT_REVENUE
     , ACT_LABOR_RAW_COST
     , ACT_EQUIP_RAW_COST
     , ETC_LABOR_HRS
     , ETC_EQUIP_HRS
     , ETC_LABOR_BRDN_COST
     , ETC_EQUIP_BRDN_COST
     , ETC_BRDN_COST
     , ETC_RAW_COST
     , ETC_LABOR_RAW_COST
     , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , TIME_DANGLING_FLAG
     , RATE_DANGLING_FLAG
     , PRG_LEVEL
     , PLAN_TYPE_CODE
	)
   SELECT
       g_worker_id  worker_id
     , a.PROJECT_ID
     , a.PROJECT_ORG_ID
     , a.PROJECT_ORGANIZATION_ID
     , a.PROJECT_ELEMENT_ID
     , a.TIME_ID
     , 32 -- a.PERIOD_TYPE_ID
     , a.CALENDAR_TYPE
     , a.RBS_AGGR_LEVEL
     , a.WBS_ROLLUP_FLAG
     , a.PRG_ROLLUP_FLAG
     , a.CURR_RECORD_TYPE_ID
     , a.CURRENCY_CODE
     , a.RBS_ELEMENT_ID
     , a.RBS_VERSION_ID
     , a.PLAN_VERSION_ID
     , a.PLAN_TYPE_ID
     , SUM(ROUND (nvl(a.raw_cost,0)*a.factor/a.mau)*a.mau) raw_cost
     , SUM(ROUND (nvl(a.brdn_cost,0)*a.factor/a.mau)*a.mau) brdn_cost
     , SUM(ROUND (nvl(a.revenue,0)*a.factor/a.mau)*a.mau) revenue
     , SUM(ROUND (nvl(a.bill_raw_cost,0)*a.factor/a.mau)*a.mau) bill_raw_cost
     , SUM(ROUND (nvl(a.bill_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_brdn_cost
     , SUM(ROUND (nvl(a.bill_labor_raw_cost,0)*a.factor/a.mau)*a.mau) bill_labor_raw_cost
     , SUM(ROUND (nvl(a.bill_labor_brdn_cost,0)*a.factor/a.mau)*a.mau) bill_labor_brdn_cost
     , SUM(ROUND (nvl(a.bill_labor_hrs,0)*a.factor/a.mau)*a.mau) bill_labor_hrs
     , SUM(ROUND (nvl(a.equipment_raw_cost,0)*a.factor/a.mau)*a.mau) equipment_raw_cost
     , SUM(ROUND (nvl(a.equipment_brdn_cost,0)*a.factor/a.mau)*a.mau) equipment_brdn_cost
     , SUM(ROUND (nvl(a.capitalizable_raw_cost,0)*a.factor/a.mau)*a.mau) capitalizable_raw_cost
     , SUM(ROUND (nvl(a.capitalizable_brdn_cost,0)*a.factor/a.mau)*a.mau) capitalizable_brdn_cost
     , SUM(ROUND (nvl(a.labor_raw_cost,0)*a.factor/a.mau)*a.mau) labor_raw_cost
     , SUM(ROUND (nvl(a.labor_brdn_cost,0)*a.factor/a.mau)*a.mau) labor_brdn_cost
     , SUM(ROUND (nvl(a.labor_hrs,0)*a.factor/a.mau)*a.mau) labor_hrs
     , SUM(ROUND (nvl(a.labor_revenue,0)*a.factor/a.mau)*a.mau) labor_revenue
     , SUM(ROUND (nvl(a.equipment_hours,0)*a.factor/a.mau)*a.mau) equipment_hours
     , SUM(ROUND (nvl(a.billable_equipment_hours,0)*a.factor/a.mau)*a.mau) billable_equipment_hours
     , SUM(ROUND (nvl(a.sup_inv_committed_cost,0)*a.factor/a.mau)*a.mau) sup_inv_committed_cost
     , SUM(ROUND (nvl(a.po_committed_cost,0)*a.factor/a.mau)*a.mau) po_committed_cost
     , SUM(ROUND (nvl(a.pr_committed_cost,0)*a.factor/a.mau)*a.mau) pr_committed_cost
     , SUM(ROUND (nvl(a.oth_committed_cost,0)*a.factor/a.mau)*a.mau) oth_committed_cost
     , SUM(ROUND (nvl(a.ACT_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ACT_LABOR_HRS
     , SUM(ROUND (nvl(a.ACT_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_HRS
     , SUM(ROUND (nvl(a.ACT_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_BRDN_COST
     , SUM(ROUND (nvl(a.ACT_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_BRDN_COST
     , SUM(ROUND (nvl(a.ACT_BRDN_COST,0)*a.factor/a.mau)*a.mau) ACT_BRDN_COST
     , SUM(ROUND (nvl(a.ACT_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_RAW_COST
     , SUM(ROUND (nvl(a.ACT_REVENUE,0)*a.factor/a.mau)*a.mau) ACT_REVENUE
     , SUM(ROUND (nvl(a.ACT_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_LABOR_RAW_COST
     , SUM(ROUND (nvl(a.ACT_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ACT_EQUIP_RAW_COST
     , SUM(ROUND (nvl(a.ETC_LABOR_HRS,0)*a.factor/a.mau)*a.mau) ETC_LABOR_HRS
     , SUM(ROUND (nvl(a.ETC_EQUIP_HRS,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_HRS
     , SUM(ROUND (nvl(a.ETC_LABOR_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_BRDN_COST
     , SUM(ROUND (nvl(a.ETC_EQUIP_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_BRDN_COST
     , SUM(ROUND (nvl(a.ETC_BRDN_COST,0)*a.factor/a.mau)*a.mau) ETC_BRDN_COST
     , SUM(ROUND (nvl(a.ETC_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_RAW_COST
     , SUM(ROUND (nvl(a.ETC_LABOR_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_LABOR_RAW_COST
     , SUM(ROUND (nvl(a.ETC_EQUIP_RAW_COST,0)*a.factor/a.mau)*a.mau) ETC_EQUIP_RAW_COST
     , SUM(ROUND (nvl(a.custom1,0)*a.factor/a.mau)*a.mau) custom1
     , SUM(ROUND (nvl(a.custom2,0)*a.factor/a.mau)*a.mau) custom2
     , SUM(ROUND (nvl(a.custom3,0)*a.factor/a.mau)*a.mau) custom3
     , SUM(ROUND (nvl(a.custom4,0)*a.factor/a.mau)*a.mau) custom4
     , SUM(ROUND (nvl(a.custom5,0)*a.factor/a.mau)*a.mau) custom5
     , SUM(ROUND (nvl(a.custom6,0)*a.factor/a.mau)*a.mau) custom6
     , SUM(ROUND (nvl(a.custom7,0)*a.factor/a.mau)*a.mau) custom7
     , SUM(ROUND (nvl(a.custom8,0)*a.factor/a.mau)*a.mau) custom8
     , SUM(ROUND (nvl(a.custom9,0)*a.factor/a.mau)*a.mau) custom9
     , SUM(ROUND (nvl(a.custom10,0)*a.factor/a.mau)*a.mau) custom10
     , SUM(ROUND (nvl(a.custom11,0)*a.factor/a.mau)*a.mau) custom11
     , SUM(ROUND (nvl(a.custom12,0)*a.factor/a.mau)*a.mau) custom12
     , SUM(ROUND (nvl(a.custom13,0)*a.factor/a.mau)*a.mau) custom13
     , SUM(ROUND (nvl(a.custom14,0)*a.factor/a.mau)*a.mau) custom14
     , SUM(ROUND (nvl(a.custom15,0)*a.factor/a.mau)*a.mau) custom15
     , a.TIME_DANGLING_FLAG
     , a.RATE_DANGLING_FLAG
     , g_default_prg_level prg_level
     , a.PLAN_TYPE_CODE  PLAN_TYPE_CODE
  FROM (
   SELECT /*+ NO_MERGE use_hash(fact) use_hash(ver) parallel(ver) parallel(fact) */
           fact.project_id  project_id
   	 , fact.project_ORG_ID project_ORG_ID
   	 , fact.project_ORGANIZATION_ID project_ORGANIZATION_ID
   	 , fact.PROJECT_ELEMENT_ID PROJECT_ELEMENT_ID
   	 , pa_cal.cal_period_id TIME_ID
   	 , fact.PERIOD_TYPE_ID PERIOD_TYPE_ID
         , p_calendar_type  CALENDAR_TYPE
         , fact.RBS_AGGR_LEVEL
         , fact.WBS_ROLLUP_FLAG
         , fact.PRG_ROLLUP_FLAG
   	 , fact.CURR_RECORD_TYPE_ID CURR_RECORD_TYPE_ID
   	 , fact.CURRENCY_CODE CURRENCY_CODE
   	 , fact.RBS_ELEMENT_ID RBS_ELEMENT_ID
   	 , fact.RBS_VERSION_ID RBS_VERSION_ID
   	 , fact.PLAN_VERSION_ID PLAN_VERSION_ID
	 , fact.PLAN_TYPE_ID  PLAN_TYPE_ID
         , fact.raw_cost
         , fact.brdn_cost
         , fact.revenue
         , fact.bill_raw_cost
         , fact.bill_brdn_cost
         , fact.bill_labor_raw_cost
         , fact.bill_labor_brdn_cost
         , fact.bill_labor_hrs
         , fact.equipment_raw_cost
         , fact.equipment_brdn_cost
         , fact.capitalizable_raw_cost
         , fact.capitalizable_brdn_cost
         , fact.labor_raw_cost
         , fact.labor_brdn_cost
         , fact.labor_hrs
         , fact.labor_revenue
         , fact.equipment_hours
         , fact.billable_equipment_hours
         , fact.sup_inv_committed_cost
         , fact.po_committed_cost
         , fact.pr_committed_cost
         , fact.oth_committed_cost
         , fact.ACT_LABOR_HRS
         , fact.ACT_EQUIP_HRS
         , fact.ACT_LABOR_BRDN_COST
         , fact.ACT_EQUIP_BRDN_COST
         , fact.ACT_BRDN_COST
         , fact.ACT_RAW_COST
         , fact.ACT_REVENUE
         , fact.ACT_LABOR_RAW_COST
         , fact.ACT_EQUIP_RAW_COST
         , fact.ETC_LABOR_HRS
         , fact.ETC_EQUIP_HRS
         , fact.ETC_LABOR_BRDN_COST
         , fact.ETC_EQUIP_BRDN_COST
         , fact.ETC_BRDN_COST
         , fact.ETC_RAW_COST
         , fact.ETC_LABOR_RAW_COST
         , fact.ETC_EQUIP_RAW_COST
         , fact.custom1
         , fact.custom2
         , fact.custom3
         , fact.custom4
         , fact.custom5
         , fact.custom6
         , fact.custom7
         , fact.custom8
         , fact.custom9
         , fact.custom10
         , fact.custom11
         , fact.custom12
         , fact.custom13
         , fact.custom14
         , fact.custom15
	 , NULL time_dangling_flag
	 , NULL rate_dangling_flag
         , cur.mau mau
         , (LEAST(fact.end_date,pa_cal.end_date) - Greatest(fact.start_date,pa_cal.start_date)+1)
                              / (fact.end_date - fact.start_date+1) factor
        , fact.plan_type_code  plan_type_code
   FROM    pji_fp_aggr_pjp1 fact
   	 , pji_org_extr_info  orginfo
   	 , pji_time_cal_period_v  pa_cal
         , pji_fm_extr_plnver4  ver
         ,(SELECT currency_code,
                   decode(nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION))),
                      null, 0.01,
                         0, 1,
                         nvl(MINIMUM_ACCOUNTABLE_UNIT, power(10, (-1 * PRECISION)))) mau
              FROM FND_CURRENCIES) cur
   WHERE  1=1
      AND fact.CALENDAR_TYPE = 'A'
      AND fact.worker_id = g_worker_id
      AND ver.worker_id = g_worker_id
      AND fact.start_date IS NOT NULL
      AND fact.end_date IS NOT NULL
      AND fact.time_dangling_flag IS NULL
      AND fact.rate_dangling_flag IS NULL
      AND orginfo.org_id = fact.PROJECT_ORG_ID
      AND DECODE(p_calendar_type
               , 'P', orginfo.pa_calendar_id
               , 'G', orginfo.gl_calendar_id) = pa_cal.calendar_id
      AND fact.line_type = 'NTP'
      AND fact.period_type_id = 2048
      AND fact.plan_version_id = ver.plan_version_id
      AND fact.plan_type_code = ver.plan_type_code   /* 4471527 */
      AND ver.wp_flag = 'N'
      AND ver.baselined_flag = 'Y'
      AND ver.time_phased_type_code = 'N'
      AND ( fact.start_date <= pa_cal.end_date AND fact.end_date >= pa_cal.start_date )
	AND fact.rbs_version_id = NVL(ver.rbs_struct_version_id , -1)
      AND cur.currency_code = fact.currency_code
      AND ver.plan_version_id > 0
	  ) a
      WHERE a.factor >0
   GROUP BY
       a.PROJECT_ID
     , a.PROJECT_ORG_ID
     , a.PROJECT_ORGANIZATION_ID
     , a.PROJECT_ELEMENT_ID
     , a.TIME_ID
     , a.PERIOD_TYPE_ID
     , a.CALENDAR_TYPE
     , a.RBS_AGGR_LEVEL
     , a.WBS_ROLLUP_FLAG
     , a.PRG_ROLLUP_FLAG
     , a.CURR_RECORD_TYPE_ID
     , a.CURRENCY_CODE
     , a.RBS_ELEMENT_ID
     , a.RBS_VERSION_ID
     , a.PLAN_VERSION_ID
     , a.PLAN_TYPE_ID
	 , a.TIME_DANGLING_FLAG
	 , a.RATE_DANGLING_FLAG
              , a.PLAN_TYPE_CODE ;
Line: 2320

PROCEDURE INSERT_INTO_FP_FACT IS
    l_last_update_date     date   := SYSDATE;
Line: 2322

    l_last_updated_by      NUMBER := FND_GLOBAL.USER_ID;
Line: 2325

    l_last_update_login    NUMBER := FND_GLOBAL.LOGIN_ID;
Line: 2335

      FOR ind_lp IN (SELECT table_owner||'.'||index_name  ind_name
                     FROM   dba_indexes
                     WHERE  table_name = 'PJI_FP_XBS_ACCUM_F'
		     AND    table_owner = l_pji_schema ) LOOP
         EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' UNUSABLE';
Line: 2345

    INSERT /*+ append parallel(rl) */ INTO pji_fp_xbs_accum_f rl
    (
       PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , LAST_UPDATE_DATE
     , LAST_UPDATED_BY
     , CREATION_DATE
     , CREATED_BY
     , LAST_UPDATE_LOGIN
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
       , ACT_LABOR_HRS
	   , ACT_EQUIP_HRS
	   , ACT_LABOR_BRDN_COST
	   , ACT_EQUIP_BRDN_COST
	   , ACT_BRDN_COST
	   , ACT_RAW_COST
	   , ACT_REVENUE
         , ACT_LABOR_RAW_COST
         , ACT_EQUIP_RAW_COST
	   , ETC_LABOR_HRS
	   , ETC_EQUIP_HRS
	   , ETC_LABOR_BRDN_COST
	   , ETC_EQUIP_BRDN_COST
	   , ETC_BRDN_COST
         , ETC_RAW_COST
         , ETC_LABOR_RAW_COST
         , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , PLAN_TYPE_CODE
    )
     SELECT /*+ parallel(pjp1) */
       pjp1.PROJECT_ID
     , pjp1.PROJECT_ORG_ID
     , pjp1.PROJECT_ORGANIZATION_ID
     , pjp1.PROJECT_ELEMENT_ID
     , pjp1.TIME_ID
     , pjp1.PERIOD_TYPE_ID
     , pjp1.CALENDAR_TYPE
     , pjp1.RBS_AGGR_LEVEL
     , pjp1.WBS_ROLLUP_FLAG
     , pjp1.PRG_ROLLUP_FLAG
     , pjp1.CURR_RECORD_TYPE_ID
     , pjp1.CURRENCY_CODE
     , pjp1.RBS_ELEMENT_ID
     , pjp1.RBS_VERSION_ID
     , pjp1.PLAN_VERSION_ID
     , pjp1.PLAN_TYPE_ID
     , l_last_update_date
     , l_last_updated_by
     , l_creation_date
     , l_created_by
     , l_last_update_login
     , pjp1.RAW_COST
     , pjp1.BRDN_COST
     , pjp1.REVENUE
     , pjp1.BILL_RAW_COST
     , pjp1.BILL_BRDN_COST
     , pjp1.BILL_LABOR_RAW_COST
     , pjp1.BILL_LABOR_BRDN_COST
     , pjp1.BILL_LABOR_HRS
     , pjp1.EQUIPMENT_RAW_COST
     , pjp1.EQUIPMENT_BRDN_COST
     , pjp1.CAPITALIZABLE_RAW_COST
     , pjp1.CAPITALIZABLE_BRDN_COST
     , pjp1.LABOR_RAW_COST
     , pjp1.LABOR_BRDN_COST
     , pjp1.LABOR_HRS
     , pjp1.LABOR_REVENUE
     , pjp1.EQUIPMENT_HOURS
     , pjp1.BILLABLE_EQUIPMENT_HOURS
     , pjp1.SUP_INV_COMMITTED_COST
     , pjp1.PO_COMMITTED_COST
     , pjp1.PR_COMMITTED_COST
     , pjp1.OTH_COMMITTED_COST
       , pjp1.ACT_LABOR_HRS
	   , pjp1.ACT_EQUIP_HRS
	   , pjp1.ACT_LABOR_BRDN_COST
	   , pjp1.ACT_EQUIP_BRDN_COST
	   , pjp1.ACT_BRDN_COST
	   , pjp1.ACT_RAW_COST
	   , pjp1.ACT_REVENUE
         , pjp1.ACT_LABOR_RAW_COST
         , pjp1.ACT_EQUIP_RAW_COST
	   , DECODE(SIGN(pjp1.ETC_LABOR_HRS), -1, 0, pjp1.ETC_LABOR_HRS)  ETC_LABOR_HRS
	   , DECODE(SIGN(pjp1.ETC_EQUIP_HRS), -1, 0, pjp1.ETC_EQUIP_HRS)  ETC_EQUIP_HRS
	   , DECODE(SIGN(pjp1.ETC_LABOR_BRDN_COST), -1, 0, pjp1.ETC_LABOR_BRDN_COST)   ETC_LABOR_BRDN_COST
	   , DECODE(SIGN(pjp1.ETC_EQUIP_BRDN_COST), -1, 0, pjp1.ETC_EQUIP_BRDN_COST)   ETC_EQUIP_BRDN_COST
	   , DECODE(SIGN(pjp1.ETC_BRDN_COST), -1, 0, pjp1.ETC_BRDN_COST)   ETC_BRDN_COST
         , DECODE(SIGN(pjp1.ETC_RAW_COST), -1, 0, pjp1.ETC_RAW_COST)    ETC_RAW_COST
         , DECODE(SIGN(pjp1.ETC_LABOR_RAW_COST), -1, 0, pjp1.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST
         , DECODE(SIGN(pjp1.ETC_EQUIP_RAW_COST), -1, 0, pjp1.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST
     , pjp1.CUSTOM1
     , pjp1.CUSTOM2
     , pjp1.CUSTOM3
     , pjp1.CUSTOM4
     , pjp1.CUSTOM5
     , pjp1.CUSTOM6
     , pjp1.CUSTOM7
     , pjp1.CUSTOM8
     , pjp1.CUSTOM9
     , pjp1.CUSTOM10
     , pjp1.CUSTOM11
     , pjp1.CUSTOM12
     , pjp1.CUSTOM13
     , pjp1.CUSTOM14
     , pjp1.CUSTOM15
     , pjp1.PLAN_TYPE_CODE
    FROM
         pji_fp_aggr_pjp1 pjp1
    WHERE 1=1
      AND worker_id = g_worker_id;
Line: 2508

      FOR ind_lp IN (SELECT table_owner||'.'||index_name  ind_name
                     FROM   dba_indexes
                     WHERE  table_name = 'PJI_FP_XBS_ACCUM_F'
		     AND    table_owner = l_pji_schema ) LOOP
         EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARALLEL';
Line: 2520

                             p_procedure_name => 'INSERT_INTO_FP_FACT');
Line: 2525

PROCEDURE INSERT_INTO_FP_FACT1 IS
    l_last_update_date     date   := SYSDATE;
Line: 2527

    l_last_updated_by      NUMBER := FND_GLOBAL.USER_ID;
Line: 2530

    l_last_update_login    NUMBER := FND_GLOBAL.LOGIN_ID;
Line: 2538

    INSERT /*+ append parallel(rl) */ INTO pji_fp_xbs_accum_f rl
    (
       PROJECT_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_ELEMENT_ID
     , TIME_ID
     , PERIOD_TYPE_ID
     , CALENDAR_TYPE
     , RBS_AGGR_LEVEL
     , WBS_ROLLUP_FLAG
     , PRG_ROLLUP_FLAG
     , CURR_RECORD_TYPE_ID
     , CURRENCY_CODE
     , RBS_ELEMENT_ID
     , RBS_VERSION_ID
     , PLAN_VERSION_ID
     , PLAN_TYPE_ID
     , LAST_UPDATE_DATE
     , LAST_UPDATED_BY
     , CREATION_DATE
     , CREATED_BY
     , LAST_UPDATE_LOGIN
     , RAW_COST
     , BRDN_COST
     , REVENUE
     , BILL_RAW_COST
     , BILL_BRDN_COST
     , BILL_LABOR_RAW_COST
     , BILL_LABOR_BRDN_COST
     , BILL_LABOR_HRS
     , EQUIPMENT_RAW_COST
     , EQUIPMENT_BRDN_COST
     , CAPITALIZABLE_RAW_COST
     , CAPITALIZABLE_BRDN_COST
     , LABOR_RAW_COST
     , LABOR_BRDN_COST
     , LABOR_HRS
     , LABOR_REVENUE
     , EQUIPMENT_HOURS
     , BILLABLE_EQUIPMENT_HOURS
     , SUP_INV_COMMITTED_COST
     , PO_COMMITTED_COST
     , PR_COMMITTED_COST
     , OTH_COMMITTED_COST
       , ACT_LABOR_HRS
	   , ACT_EQUIP_HRS
	   , ACT_LABOR_BRDN_COST
	   , ACT_EQUIP_BRDN_COST
	   , ACT_BRDN_COST
	   , ACT_RAW_COST
	   , ACT_REVENUE
         , ACT_LABOR_RAW_COST
         , ACT_EQUIP_RAW_COST
	   , ETC_LABOR_HRS
	   , ETC_EQUIP_HRS
	   , ETC_LABOR_BRDN_COST
	   , ETC_EQUIP_BRDN_COST
	   , ETC_BRDN_COST
         , ETC_RAW_COST
         , ETC_LABOR_RAW_COST
         , ETC_EQUIP_RAW_COST
     , CUSTOM1
     , CUSTOM2
     , CUSTOM3
     , CUSTOM4
     , CUSTOM5
     , CUSTOM6
     , CUSTOM7
     , CUSTOM8
     , CUSTOM9
     , CUSTOM10
     , CUSTOM11
     , CUSTOM12
     , CUSTOM13
     , CUSTOM14
     , CUSTOM15
     , PLAN_TYPE_CODE
    )
     SELECT /*+ parallel(pjp1) */
       pjp1.PROJECT_ID
     , pjp1.PROJECT_ORG_ID
     , pjp1.PROJECT_ORGANIZATION_ID
     , pjp1.PROJECT_ELEMENT_ID
     , pjp1.TIME_ID
     , pjp1.PERIOD_TYPE_ID
     , pjp1.CALENDAR_TYPE
     , pjp1.RBS_AGGR_LEVEL
     , pjp1.WBS_ROLLUP_FLAG
     , pjp1.PRG_ROLLUP_FLAG
     , pjp1.CURR_RECORD_TYPE_ID
     , pjp1.CURRENCY_CODE
     , pjp1.RBS_ELEMENT_ID
     , pjp1.RBS_VERSION_ID
     , pjp1.PLAN_VERSION_ID
     , pjp1.PLAN_TYPE_ID
     , l_last_update_date
     , l_last_updated_by
     , l_creation_date
     , l_created_by
     , l_last_update_login
     , pjp1.RAW_COST
     , pjp1.BRDN_COST
     , pjp1.REVENUE
     , pjp1.BILL_RAW_COST
     , pjp1.BILL_BRDN_COST
     , pjp1.BILL_LABOR_RAW_COST
     , pjp1.BILL_LABOR_BRDN_COST
     , pjp1.BILL_LABOR_HRS
     , pjp1.EQUIPMENT_RAW_COST
     , pjp1.EQUIPMENT_BRDN_COST
     , pjp1.CAPITALIZABLE_RAW_COST
     , pjp1.CAPITALIZABLE_BRDN_COST
     , pjp1.LABOR_RAW_COST
     , pjp1.LABOR_BRDN_COST
     , pjp1.LABOR_HRS
     , pjp1.LABOR_REVENUE
     , pjp1.EQUIPMENT_HOURS
     , pjp1.BILLABLE_EQUIPMENT_HOURS
     , pjp1.SUP_INV_COMMITTED_COST
     , pjp1.PO_COMMITTED_COST
     , pjp1.PR_COMMITTED_COST
     , pjp1.OTH_COMMITTED_COST
       , pjp1.ACT_LABOR_HRS
	   , pjp1.ACT_EQUIP_HRS
	   , pjp1.ACT_LABOR_BRDN_COST
	   , pjp1.ACT_EQUIP_BRDN_COST
	   , pjp1.ACT_BRDN_COST
	   , pjp1.ACT_RAW_COST
	   , pjp1.ACT_REVENUE
         , pjp1.ACT_LABOR_RAW_COST
         , pjp1.ACT_EQUIP_RAW_COST
	   , DECODE(SIGN(pjp1.ETC_LABOR_HRS), -1, 0, pjp1.ETC_LABOR_HRS)  ETC_LABOR_HRS
	   , DECODE(SIGN(pjp1.ETC_EQUIP_HRS), -1, 0, pjp1.ETC_EQUIP_HRS)  ETC_EQUIP_HRS
	   , DECODE(SIGN(pjp1.ETC_LABOR_BRDN_COST), -1, 0, pjp1.ETC_LABOR_BRDN_COST)   ETC_LABOR_BRDN_COST
	   , DECODE(SIGN(pjp1.ETC_EQUIP_BRDN_COST), -1, 0, pjp1.ETC_EQUIP_BRDN_COST)   ETC_EQUIP_BRDN_COST
	   , DECODE(SIGN(pjp1.ETC_BRDN_COST), -1, 0, pjp1.ETC_BRDN_COST)   ETC_BRDN_COST
         , DECODE(SIGN(pjp1.ETC_RAW_COST), -1, 0, pjp1.ETC_RAW_COST)    ETC_RAW_COST
         , DECODE(SIGN(pjp1.ETC_LABOR_RAW_COST), -1, 0, pjp1.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST
         , DECODE(SIGN(pjp1.ETC_EQUIP_RAW_COST), -1, 0, pjp1.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST
     , pjp1.CUSTOM1
     , pjp1.CUSTOM2
     , pjp1.CUSTOM3
     , pjp1.CUSTOM4
     , pjp1.CUSTOM5
     , pjp1.CUSTOM6
     , pjp1.CUSTOM7
     , pjp1.CUSTOM8
     , pjp1.CUSTOM9
     , pjp1.CUSTOM10
     , pjp1.CUSTOM11
     , pjp1.CUSTOM12
     , pjp1.CUSTOM13
     , pjp1.CUSTOM14
     , pjp1.CUSTOM15
     , pjp1.PLAN_TYPE_CODE
    FROM
         pji_merge_helper pjp1
    WHERE 1=1
      AND worker_id = g_worker_id;
Line: 2702

                             p_procedure_name => 'INSERT_INTO_FP_FACT1');
Line: 2731

      DELETE FROM PJI_FM_AGGR_DLY_RATES
      WHERE worker_id = g_worker_id;
Line: 2736

  INSERT INTO PJI_FM_AGGR_DLY_RATES (
                WORKER_ID	,
                PF_CURRENCY_CODE	,
                TIME_ID	,
                RATE	,
                MAU	,
                RATE2	,
                MAU2)
  select worker_id,
         projfunc_currency_code,
         time_id,
         PJI_UTILS.GET_GLOBAL_RATE_PRIMARY (temp.projfunc_currency_code
                      , DECODE ( g_currency_conversion_rule
                               , 'S'
                               , temp.start_date
                               , 'E'
                               , temp.end_date ))
       rate1,
       l_gl1_mau mau1,
       DECODE ( PJI_UTILS.GET_SETUP_PARAMETER('GLOBAL_CURR2_FLAG'),
                'Y',
                PJI_UTILS.GET_GLOBAL_RATE_SECONDARY(
		temp.projfunc_currency_code,
                DECODE ( g_currency_conversion_rule
                       , 'S'
                       , temp.start_date
                       , 'E'
                       , temp.end_date
		       )
	          ) ,
               NULL
              ) rate2,
       l_gl2_mau mau2
   FROM (
          SELECT /*+ cardinality(ver 100000) leading(ver bl) use_hash(ver)
                     use_hash(bl) use_hash(prd) use_hash(ppa) use_hash(inf)
                     parallel(ver) parallel(bl) */
          DISTINCT
                 g_worker_id worker_id
               , ppa.projfunc_currency_code
               , cal_period_id time_id
               , DECODE( g_currency_conversion_rule
	               , 'S'
	               , prd.start_date
		       , TO_DATE(NULL)
		       ) start_date
	       , DECODE( g_currency_conversion_rule
	               , 'E'
		       , prd.end_date
		       , TO_DATE(NULL)
	               ) end_date
          FROM pa_budget_lines  bl
           , pji_time_cal_period_v  prd
           , PJI_FM_EXTR_PLNVER4  ver
           , pa_projects_all ppa
           ,PJI_ORG_EXTR_INFO inf
      WHERE 1=1
            AND bl.budget_version_id = ver.plan_version_id
            AND ver.time_phased_type_code IN ('P', 'G')
            AND bl.period_name = prd.name
            AND ver.wp_flag = 'N'
            AND ver.baselined_flag = 'Y'
            AND ver.project_id = ppa.project_id
            AND ppa.org_id = inf.org_id
            AND DECODE ( ver.time_phased_type_code
	               , 'P'
		       , inf.pa_calendar_id
		       , 'G'
		       , inf.gl_calendar_id
		       ) = prd.calendar_id
            AND ver.worker_id = g_worker_id
          UNION ALL
          SELECT /*+ cardinality(ver 100000) leading(ver ra) use_hash(ver)
                     use_hash(ra) use_hash(ppa) */
          DISTINCT
                   g_worker_id worker_id
                 , ppa.projfunc_currency_code
                 , DECODE ( g_currency_conversion_rule
                          , 'S'
                          , TO_NUMBER(to_CHAR(ra.planning_start_date, 'J'))
                          , 'E'
                          , TO_NUMBER(to_CHAR(ra.planning_end_date, 'J')) ) time_id
		  , DECODE( g_currency_conversion_rule
	                  , 'S'
		          , ra.planning_start_date
		          , TO_DATE(NULL)
			  ) start_date
		  , DECODE( g_currency_conversion_rule
		          , 'E'
		          , ra.planning_end_date
                          , TO_DATE(NULL)
		          ) end_date
          FROM pa_resource_assignments ra
             , PJI_FM_EXTR_PLNVER4  ver
             , pa_projects_all ppa
      WHERE 1=1
            AND ra.budget_version_id = ver.plan_version_id
            AND ver.wp_flag = 'N'
            AND ver.baselined_flag = 'Y'
            AND ver.time_phased_type_code = 'N'
            AND ver.project_id = ppa.project_id
            AND ver.worker_id = g_worker_id
         ) temp;
Line: 2843

	UPDATE PJI_FM_EXTR_PLNVER4 ver
	   SET rate_dangling_flag = 'Y'
	 WHERE EXISTS
	         (  SELECT NULL
		      FROM PA_BUDGET_LINES bl,
		           pji_time_cal_period_v  prd,
			   PJI_FM_AGGR_DLY_RATES rates
		     WHERE rates.time_id=prd.cal_period_id
		       AND bl.period_name = prd.name
		       AND (sign(rates.rate)=-1 OR sign(rates.rate2) = -1)
		       AND ver.time_phased_type_code IN ('P', 'G')
		       AND rates.worker_id=g_worker_id /* Added for bug 4083581 */
--		       AND ver.project_id = bl.project_id      /* This is not required since budget_version_is unique */
                       AND ver.plan_version_id = bl.budget_version_id
		   UNION ALL
		     SELECT NULL
		       FROM pa_resource_assignments ra,
		            PJI_FM_AGGR_DLY_RATES rates
	              WHERE rates.time_id= DECODE ( g_currency_conversion_rule
                               		   	     , 'S'
					 	     , TO_NUMBER(to_CHAR(ra.planning_start_date, 'J'))
						     , 'E'
						     , TO_NUMBER(to_CHAR(ra.planning_end_date, 'J')) )
			AND (sign(rates.rate)=-1 OR sign(rates.rate2) = -1)
			AND ver.time_phased_type_code = 'N'
			AND rates.worker_id=g_worker_id /* Added for bug 4083581 */
--                        AND ver.project_id = ra.project_id  /* This is not required since budget_version_id is unique */
                        AND ver.plan_version_id = ra.budget_version_id
                 )
           AND ver.wp_flag = 'N'
           AND ver.baselined_flag = 'Y'
           AND ver.worker_id = g_worker_id;
Line: 2934

    l_last_update_date     date   := SYSDATE;
Line: 2935

    l_last_updated_by      NUMBER := FND_GLOBAL.USER_ID;
Line: 2938

    l_last_update_login    NUMBER := FND_GLOBAL.LOGIN_ID;
Line: 2944

  INSERT INTO pji_pjp_rbs_header
  (
      project_id
    , plan_version_id
    , rbs_version_id
    , reporting_usage_flag
    , prog_rep_usage_flag
    , plan_usage_flag
    , LAST_UPDATE_DATE
    , LAST_UPDATED_BY
    , CREATION_DATE
    , CREATED_BY
    , LAST_UPDATE_LOGIN
    ,PLAN_TYPE_CODE    /*4471527 */
  )
  SELECT /*+ ordered
             parallel(bv) */ DISTINCT
        rpa.project_id
      , bv.plan_version_id
      , rpa.rbs_version_id
      , rpa.reporting_usage_flag
      , rpa.prog_rep_usage_flag
      , DECODE(bv.wp_flag, 'Y', rpa.wp_usage_flag, rpa.fp_usage_flag)
      , l_last_update_date
      , l_last_updated_by
      , l_creation_date
      , l_created_by
      , l_last_update_login
      , bv.plan_type_code
  FROM
    PJI_FM_EXTR_PLNVER4    bv,
    PA_RBS_PRJ_ASSIGNMENTS rpa,
    PJI_PJP_RBS_HEADER     head
  WHERE bv.project_id = rpa.project_id
    AND bv.worker_id = g_worker_id
    AND bv.RBS_STRUCT_VERSION_ID  = rpa.RBS_VERSION_ID
    AND bv.PROJECT_ID = head.PROJECT_ID (+)
    AND bv.PLAN_VERSION_ID = head.PLAN_VERSION_ID (+)
    AND bv.PLAN_TYPE_CODE  = head.PLAN_TYPE_CODE (+)    /*4471527 */
    AND bv.RBS_STRUCT_VERSION_ID = head.RBS_VERSION_ID (+)
    AND head.PROJECT_ID IS NULL;
Line: 2993

PROCEDURE UPDATE_WBS_HDR  IS
 pragma autonomous_transaction;  /* Added for Bug 14735308 */
Line: 2995

    l_last_update_date     date   := SYSDATE;
Line: 2996

    l_last_updated_by      NUMBER := FND_GLOBAL.USER_ID;
Line: 2997

    l_last_update_login    NUMBER := FND_GLOBAL.LOGIN_ID;
Line: 3004

  delete from pji_fp_aggr_pjp1_t; -- 5309891
Line: 3007

  INSERT INTO pji_fp_aggr_pjp1_t
  ( WORKER_ID
  , PROJECT_ID, PROJECT_ORG_ID, PROJECT_ORGANIZATION_ID, PROJECT_ELEMENT_ID
  , TIME_ID, PERIOD_TYPE_ID, CALENDAR_TYPE, RBS_AGGR_LEVEL
  , WBS_ROLLUP_FLAG, PRG_ROLLUP_FLAG , CURR_RECORD_TYPE_ID ,CURRENCY_CODE
  , PLAN_VERSION_ID, PLAN_TYPE_ID, PLAN_TYPE_CODE
  , start_date, end_date)
  SELECT /*+ parallel(pjp1) */
         g_worker_id
       , whdr.project_id, 0, 0, 0
       , 0, 0, 'X', 'X'
	   , 'X', 'X', 0, 'X'
       , whdr.plan_version_id, NVL(whdr.plan_type_id, -1)
       , whdr.PLAN_TYPE_CODE
       , MIN(LEAST(cal.start_date,  NVL(whdr.min_txn_date, cal.start_date))) start_date
       , MAX(GREATEST(cal.end_date, NVL(whdr.max_txn_date, cal.end_date))) end_date
    FROM PJI_FP_AGGR_PJP1    pjp1
       , pji_time_cal_period_v   cal
       , pji_pjp_wbs_header whdr
   WHERE
         pjp1.worker_id = g_worker_id
     AND pjp1.project_id = whdr.project_id
     AND pjp1.plan_type_id = NVL(whdr.plan_type_id, -1)
     AND pjp1.plan_version_id = whdr.plan_version_id
     AND pjp1.time_id = cal.cal_period_id
     AND pjp1.calendar_type IN ('P', 'G') -- Non time ph and ent cals don't need to be considered.
     AND pjp1.plan_type_code = whdr.plan_type_code
   GROUP BY whdr.project_id, whdr.plan_type_id
          , whdr.plan_version_id, whdr.plan_type_code;
Line: 3038

  UPDATE /*+ index(whdr,PJI_PJP_WBS_HEADER_N1) */
      PJI_PJP_WBS_HEADER whdr
  SET ( MIN_TXN_DATE
      , MAX_TXN_DATE
      , LAST_UPDATE_DATE
      , LAST_UPDATED_BY
      , LAST_UPDATE_LOGIN ) = (
  SELECT start_date
       , end_date
       , l_last_update_date
       , l_last_updated_by
       , l_last_update_login
    FROM pji_fp_aggr_pjp1_t dates
   WHERE
         dates.plan_version_id = whdr.plan_version_id
     AND dates.project_id = whdr.project_id
     AND dates.plan_type_id = NVL(whdr.plan_type_id, -1)
     AND dates.plan_type_code = whdr.plan_type_code
                                      )
 WHERE (project_id, NVL(plan_type_id, -1), plan_version_id, plan_type_code) IN (
         SELECT project_id, plan_type_id, plan_version_id , plan_type_code
         FROM   PJI_FP_AGGR_PJP1_T ver
         );
Line: 3062

  delete from pji_fp_aggr_pjp1_t;
Line: 3085

    INSERT INTO PJI_FP_AGGR_PJP1
    (
         WORKER_ID
       , PROJECT_ID
       , PROJECT_ORG_ID
       , PROJECT_ORGANIZATION_ID
       , PROJECT_ELEMENT_ID
       , TIME_ID
       , PERIOD_TYPE_ID
       , CALENDAR_TYPE
       , RBS_AGGR_LEVEL
       , WBS_ROLLUP_FLAG
       , PRG_ROLLUP_FLAG
       , CURR_RECORD_TYPE_ID
       , CURRENCY_CODE
       , RBS_ELEMENT_ID
       , RBS_VERSION_ID
       , PLAN_VERSION_ID
       , PLAN_TYPE_ID
       , RAW_COST
       , BRDN_COST
       , REVENUE
       , BILL_RAW_COST
       , BILL_BRDN_COST
       , BILL_LABOR_RAW_COST
       , BILL_LABOR_BRDN_COST
       , BILL_LABOR_HRS
       , EQUIPMENT_RAW_COST
       , EQUIPMENT_BRDN_COST
       , CAPITALIZABLE_RAW_COST
       , CAPITALIZABLE_BRDN_COST
       , LABOR_RAW_COST
       , LABOR_BRDN_COST
       , LABOR_HRS
       , LABOR_REVENUE
       , EQUIPMENT_HOURS
       , BILLABLE_EQUIPMENT_HOURS
       , SUP_INV_COMMITTED_COST
       , PO_COMMITTED_COST
       , PR_COMMITTED_COST
       , OTH_COMMITTED_COST
       , ACT_LABOR_HRS
	   , ACT_EQUIP_HRS
	   , ACT_LABOR_BRDN_COST
	   , ACT_EQUIP_BRDN_COST
	   , ACT_BRDN_COST
	   , ACT_RAW_COST
	   , ACT_REVENUE
         , ACT_LABOR_RAW_COST
         , ACT_EQUIP_RAW_COST
	   , ETC_LABOR_HRS
	   , ETC_EQUIP_HRS
	   , ETC_LABOR_BRDN_COST
	   , ETC_EQUIP_BRDN_COST
	   , ETC_BRDN_COST
         , ETC_RAW_COST
         , ETC_LABOR_RAW_COST
         , ETC_EQUIP_RAW_COST
       , CUSTOM1
       , CUSTOM2
       , CUSTOM3
       , CUSTOM4
       , CUSTOM5
       , CUSTOM6
       , CUSTOM7
       , CUSTOM8
       , CUSTOM9
       , CUSTOM10
       , CUSTOM11
       , CUSTOM12
       , CUSTOM13
       , CUSTOM14
       , CUSTOM15
       , LINE_TYPE
       , RATE_DANGLING_FLAG
       , TIME_DANGLING_FLAG
       , START_DATE
       , END_DATE
       , PRG_LEVEL
       , PLAN_TYPE_CODE
	)
    SELECT
         WORKER_ID
       , PROJECT_ID
       , PROJECT_ORG_ID
       , project_ORGANIZATION_ID
       , WBS_ELEMENT_ID
       , time_id
       , period_type_id
       , CALENDAR_TYPE
       , g_lowest_level RBS_AGGR_LEVEL
       , 'N' WBS_ROLLUP_FLAG
       , 'N' PRG_ROLLUP_FLAG
       , CURR_RECORD_TYPE
       , currency_code
       , RBS_ELEMENT_ID
       , RBS_STRUCT_VERSION_ID
       , plan_version_id
       , plan_type_id
       , decode(rate_dangling_flag,null,SUM(RAW_COST),0)
       , decode(rate_dangling_flag,null,SUM(BRDN_COST),0)
       , decode(rate_dangling_flag,null,SUM(REVENUE),0)
       , decode(rate_dangling_flag,null,SUM ( BILL_RAW_COST ),0)  BILL_RAW_COST
       , decode(rate_dangling_flag,null,SUM (BILL_BRDN_COST ),0)   BILL_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( BILL_LABOR_RAW_COST),0) BILL_LABOR_RAW_COST
       , decode(rate_dangling_flag,null,SUM ( BILL_LABOR_BRDN_COST),0) BILL_LABOR_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( BILL_LABOR_HRS),0) BILL_LABOR_HRS
       , decode(rate_dangling_flag,null,SUM ( EQUIPMENT_RAW_COST),0) EQUIPMENT_RAW_COST
       , decode(rate_dangling_flag,null,SUM ( EQUIPMENT_BRDN_COST),0) EQUIPMENT_BRDN_COST
       , decode(rate_dangling_flag,null,SUM (CAPITALIZABLE_RAW_COST),0) CAPITALIZABLE_RAW_COST
       , decode(rate_dangling_flag,null,SUM ( CAPITALIZABLE_BRDN_COST),0)
       , decode(rate_dangling_flag,null,SUM ( LABOR_RAW_COST),0) LABOR_RAW_COST
       , decode(rate_dangling_flag,null,SUM ( LABOR_BRDN_COST),0) LABOR_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( labor_hrs),0)  labor_hrs
       , decode(rate_dangling_flag,null,SUM (LABOR_REVENUE),0)  LABOR_REVENUE
       , decode(rate_dangling_flag,null,SUM (EQUIPMENT_HOURS),0) EQUIPMENT_HOURS
       , decode(rate_dangling_flag,null,SUM ( BILLABLE_EQUIPMENT_HOURS),0) BILLABLE_EQUIPMENT_HOURS
       , decode(rate_dangling_flag,null,SUM(SUP_INV_COMMITTED_COST),0) SUP_INV_COMMITTED_COST
       , decode(rate_dangling_flag,null,SUM(PO_COMMITTED_COST),0) PO_COMMITTED_COST
       , decode(rate_dangling_flag,null,SUM(PR_COMMITTED_COST),0) PR_COMMITTED_COST
       , decode(rate_dangling_flag,null,SUM(OTH_COMMITTED_COST),0) PR_COMMITTED_COST
       , decode(rate_dangling_flag,null,SUM ( ACT_LABOR_HRS),0) ACT_LABOR_HRS
       , decode(rate_dangling_flag,null,SUM (ACT_EQUIP_HOURS),0) ACT_EQUIP_HOURS
       , decode(rate_dangling_flag,null,SUM ( ACT_LABOR_BRDN_COST),0) ACT_LABOR_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( ACT_EQUIPMENT_BRDN_COST),0) ACT_EQUIPMENT_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( ACT_BRDN_COST),0) ACT_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( ACT_RAW_COST),0) ACT_RAW_COST
       , decode(rate_dangling_flag,null,SUM ( ACT_REVENUE),0) ACT_REVENUE
       , decode(rate_dangling_flag,null,SUM ( ACT_LABOR_RAW_COST),0) ACT_LABOR_RAW_COST
       , decode(rate_dangling_flag,null,SUM ( ACT_EQUIPMENT_RAW_COST),0) ACT_EQUIPMENT_RAW_COST
       , decode(rate_dangling_flag,null,SUM ( ETC_LABOR_HRS),0) ETC_LABOR_HRS
       , decode(rate_dangling_flag,null,SUM ( ETC_EQUIP_HOURS),0) ETC_EQUIP_HOURS
       , decode(rate_dangling_flag,null,SUM ( ETC_LABOR_BRDN_COST),0) ETC_LABOR_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( ETC_EQUIP_BRDN_COST),0) ETC_EQUIP_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( ETC_BRDN_COST),0) ETC_BRDN_COST
       , decode(rate_dangling_flag,null,SUM ( ETC_RAW_COST),0) ETC_RAW_COST
       , decode(rate_dangling_flag,null,SUM ( ETC_LABOR_raw_COST),0) ETC_LABOR_raw_COST
       , decode(rate_dangling_flag,null,SUM ( ETC_EQUIP_raw_COST),0) ETC_EQUIP_raw_COST
       , decode(rate_dangling_flag,null,SUM(CUSTOM1),0) CUSTOM1
       , decode(rate_dangling_flag,null,SUM(CUSTOM2),0) CUSTOM2
       , decode(rate_dangling_flag,null,SUM(CUSTOM3),0) CUSTOM3
       , decode(rate_dangling_flag,null,SUM(CUSTOM4),0) CUSTOM4
       , decode(rate_dangling_flag,null,SUM(CUSTOM5),0) CUSTOM5
       , decode(rate_dangling_flag,null,SUM(CUSTOM6),0) CUSTOM6
       , decode(rate_dangling_flag,null,SUM(CUSTOM7),0) CUSTOM7
       , decode(rate_dangling_flag,null,SUM(CUSTOM8),0) CUSTOM8
       , decode(rate_dangling_flag,null,SUM(CUSTOM9),0) CUSTOM9
       , decode(rate_dangling_flag,null,SUM(CUSTOM10),0) CUSTOM10
       , decode(rate_dangling_flag,null,SUM(CUSTOM11),0) CUSTOM11
       , decode(rate_dangling_flag,null,SUM(CUSTOM12),0) CUSTOM12
       , decode(rate_dangling_flag,null,SUM(CUSTOM13),0) CUSTOM13
       , decode(rate_dangling_flag,null,SUM(CUSTOM14),0) CUSTOM14
       , decode(rate_dangling_flag,null,SUM(CUSTOM15),0) CUSTOM15
       , LINE_TYPE
       , rate_dangling_flag
       , time_dangling_flag
       , start_date
       , end_date
       , g_default_prg_level  prg_level
       , plan_type_code
 FROM
       (   SELECT
         g_worker_id WORKER_ID
       , plr.PROJECT_ID
       , plr.PROJECT_ORG_ID
       , plr.project_ORGANIZATION_ID
       , plr.WBS_ELEMENT_ID
       , plr.time_id
       , plr.period_type_id -- period type id...
       , plr.CALENDAR_TYPE
       , g_lowest_level RBS_AGGR_LEVEL
       , 'N' WBS_ROLLUP_FLAG
       , 'N' PRG_ROLLUP_FLAG
       , plr.CURR_RECORD_TYPE
       , plr.currency_code
       , plr.RBS_ELEMENT_ID
       , plr.RBS_STRUCT_VERSION_ID
       , plr.plan_version_id
       , plr.plan_type_id
       , SUM(plr.RAW_COST)  RAW_COST
       , SUM(plr.BRDN_COST) BRDN_COST
       , SUM(plr.REVENUE)  REVENUE
       , SUM ( DECODE ( plr.billable_flag, 'Y', plr.raw_cost, 0 ) )  BILL_RAW_COST
       , SUM ( DECODE ( plr.billable_flag, 'Y', plr.BRDN_COST, 0 ) )   BILL_BRDN_COST
       , SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'Y' || g_people_resclass_code, plr.raw_cost, 0 ) )  BILL_LABOR_RAW_COST
       , SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'Y' || g_people_resclass_code , plr.BRDN_COST, 0 ) )   BILL_LABOR_BRDN_COST
       /* , SUM ( DECODE ( plr.billable_flag || plr.resource_class , 'Y' || g_people_resclass_code, plr.quantity, 0 ) )  BILL_LABOR_HRS */ -- bug 6039785
       , SUM ( DECODE ( plr.billable_flag || plr.resource_class , 'Y' || g_people_resclass_code,
                                             DECODE ( plr.billable_flag , 'Y' , plr.quantity, 0 ) , 0 ) )  BILL_LABOR_HRS -- bug 6039785
       , SUM ( DECODE ( plr.resource_class, g_equip_resclass_code , plr.raw_cost, 0 ) )  EQUIPMENT_RAW_COST
       , SUM ( DECODE ( plr.resource_class, g_equip_resclass_code , plr.BRDN_COST, 0 ) )   EQUIPMENT_BRDN_COST
       , SUM ( DECODE ( plr.billable_flag, 'Y', plr.raw_cost, 0 ) )      CAPITALIZABLE_RAW_COST
       , SUM ( DECODE ( plr.billable_flag, 'Y', plr.BRDN_COST, 0 ) )      CAPITALIZABLE_BRDN_COST
       , SUM ( DECODE ( plr.resource_class, g_people_resclass_code, plr.raw_cost, 0 ) )  LABOR_RAW_COST
       , SUM ( DECODE ( plr.resource_class, g_people_resclass_code, plr.BRDN_COST, 0 ) )   LABOR_BRDN_COST
       /* , SUM ( DECODE ( plr.resource_class, g_people_resclass_code,
                                            DECODE ( plr.wp_flag, 'N',
                                                                   DECODE ( plr.billable_flag, 'Y',plr.quantity,0),
                                                                   plr.quantity),
                                                    0 ) )   labor_hrs */ -- bug 6039785
       , SUM ( DECODE ( plr.resource_class, g_people_resclass_code, DECODE( plr.billable_flag , 'Y',
                                            DECODE ( plr.wp_flag, 'N',
                                                                   DECODE ( plr.billable_flag, 'Y',plr.quantity,0),
                                                                   plr.quantity),
						    0 ),
                                                    0 ) )   labor_hrs -- bug 6039785
       , SUM ( DECODE ( plr.resource_class, g_people_resclass_code, plr.revenue, 0 ) )  LABOR_REVENUE
       /* , SUM ( DECODE ( plr.resource_class, g_equip_resclass_code,
                                            DECODE ( plr.wp_flag, 'N',
                                                                   DECODE ( plr.billable_flag, 'Y',plr.quantity,0),
                                                                   plr.quantity),

                                            0 ) )  EQUIPMENT_HOURS */ -- bug 6039785
       , SUM ( DECODE ( plr.resource_class, g_equip_resclass_code, DECODE( plr.billable_flag , 'Y',
                                            DECODE ( plr.wp_flag, 'N',
                                                                   DECODE ( plr.billable_flag, 'Y',plr.quantity,0),
                                                                   plr.quantity),
				            0 ),
                                            0 ) )  EQUIPMENT_HOURS -- bug 6039785
       /* , SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'Y' || g_equip_resclass_code, plr.quantity, 0 ) )  BILLABLE_EQUIPMENT_HOURS */ -- bug 6039785
       , SUM ( DECODE ( plr.billable_flag || plr.resource_class, 'Y' || g_equip_resclass_code,
                                                                 DECODE ( plr.billable_flag , 'Y' , plr.quantity, 0 ) , 0 ) )  BILLABLE_EQUIPMENT_HOURS -- bug 6039785
       , TO_NUMBER(NULL)  SUP_INV_COMMITTED_COST
       , TO_NUMBER(NULL)  PO_COMMITTED_COST
       , TO_NUMBER(NULL)  PR_COMMITTED_COST
       , TO_NUMBER(NULL)  OTH_COMMITTED_COST
       /* , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code,
                                                                                DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,0),
                                                                                0 ) ) ) ACT_LABOR_HRS */ -- bug 6039785
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code,
                                                                             DECODE (plr.billable_flag ,'Y',
                                                                                DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,0),
										0 ),
                                                                                0 ) ) ) ACT_LABOR_HRS -- bug 6039785
       /* , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code,
                                                                                DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,0),
                                                                                0 ) ) ) ACT_EQUIP_HOURS */ -- bug 6039785
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code,
                                                                             DECODE (plr.billable_flag ,'Y',
                                                                                DECODE ( plr.billable_flag, 'Y',plr.actual_quantity,0),
										0 ),
                                                                                0 ) ) ) ACT_EQUIP_HOURS -- bug 6039785
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code, plr.actual_BRDN_COST, 0 ) ) ) ACT_LABOR_BRDN_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code , plr.actual_BRDN_COST, 0 ) ) ) ACT_EQUIPMENT_BRDN_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.actual_brdn_cost ) ) ACT_BRDN_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.actual_raw_cost ) ) ACT_RAW_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.actual_revenue ) ) ACT_REVENUE
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code, plr.actual_RAW_COST, 0 ) ) ) ACT_LABOR_RAW_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code , plr.actual_RAW_COST, 0 ) ) ) ACT_EQUIPMENT_RAW_COST
       /* , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code,
                                                                                DECODE ( plr.billable_flag, 'Y',plr.ETC_quantity,0),
                                                                                0 ) ) ) ETC_LABOR_HRS */ -- bug 6039785
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code,
                                                                                DECODE (plr.billable_flag ,'Y',
                                                                                        DECODE ( plr.billable_flag, 'Y',plr.ETC_quantity,0),
                                                                                0 ),
                                                                                0 ) ) ) ETC_LABOR_HRS -- bug 6039785
       /* , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code,
                                                                                DECODE ( plr.billable_flag, 'Y',plr.ETC_quantity,0),
                                                                                0 ) ) ) ETC_EQUIP_HOURS */ -- bug 6039785
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code,
                                                                                DECODE (plr.billable_flag ,'Y',
                                                                                        DECODE ( plr.billable_flag, 'Y',plr.ETC_quantity,0),
                                                                                0 ),
                                                                                0 ) ) ) ETC_EQUIP_HOURS -- bug 6039785
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code, plr.etc_BRDN_COST, 0 ) ) ) ETC_LABOR_BRDN_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code , plr.etc_BRDN_COST, 0 ) ) ) ETC_EQUIP_BRDN_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.etc_brdn_cost ) ) ETC_BRDN_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, plr.etc_raw_cost ) ) ETC_RAW_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_people_resclass_code, plr.etc_raw_COST, 0 ) ) ) ETC_LABOR_raw_COST
       , SUM ( DECODE ( plr.wp_flag, 'Y', NULL, DECODE ( plr.resource_class, g_equip_resclass_code , plr.etc_raw_COST, 0 ) ) ) ETC_EQUIP_raw_COST
       , TO_NUMBER(NULL) CUSTOM1
       , TO_NUMBER(NULL) CUSTOM2
       , TO_NUMBER(NULL) CUSTOM3
       , TO_NUMBER(NULL) CUSTOM4
       , TO_NUMBER(NULL) CUSTOM5
       , TO_NUMBER(NULL) CUSTOM6
       , TO_NUMBER(NULL) CUSTOM7
       , TO_NUMBER(NULL) CUSTOM8
       , TO_NUMBER(NULL) CUSTOM9
       , TO_NUMBER(NULL) CUSTOM10
       , TO_NUMBER(NULL) CUSTOM11
       , TO_NUMBER(NULL) CUSTOM12
       , TO_NUMBER(NULL) CUSTOM13
       , TO_NUMBER(NULL) CUSTOM14
       , TO_NUMBER(NULL) CUSTOM15
       , plr.LINE_TYPE
       , decode(sign(plr.rate),-1,'Y',NULL) ||decode(sign(plr.rate2),-1,'Y',NULL) rate_dangling_flag
       , NULL time_dangling_flag
       , plr.start_date
  	 , plr.end_date
       , g_default_prg_level prg_level
       ,plr.plan_type_code plan_type_code  /*4471527 */
       FROM
       (          ----- First inline view plr .............
            select
              collapse_bl.PROJECT_ID
            , collapse_bl.WBS_ELEMENT_ID
            , SUM(collapse_bl.CURR_RECORD_TYPE_ID) CURR_RECORD_TYPE
            , collapse_bl.RBS_ELEMENT_ID
            , collapse_bl.RBS_STRUCT_VERSION_ID
		    , collapse_bl.plan_type_id
            , collapse_bl.plan_version_id
			, collapse_bl.time_id
            , collapse_bl.PROJECT_ORGANIZATION_ID
            , collapse_bl.PROJECT_ORG_ID
            , collapse_bl.RESOURCE_ASSIGNMENT_ID
            , collapse_bl.BILLABLE_FLAG
            , collapse_bl.RESOURCE_CLASS
            , collapse_bl.TIME_PHASED_TYPE_CODE
            , collapse_bl.CURRENCY_CODE
            , max(collapse_bl.raw_cost) raw_cost
            , max(collapse_bl.BRDN_COST) BRDN_COST
            , max(collapse_bl.revenue) revenue
            , max(collapse_bl.actual_raw_cost) actual_raw_cost
            , max(collapse_bl.actual_BRDN_COST) actual_BRDN_COST
            , max(collapse_bl.actual_revenue) actual_revenue
            , max(collapse_bl.etc_raw_cost) etc_raw_cost
            , max(collapse_bl.etc_BRDN_COST) etc_BRDN_COST
            , max(collapse_bl.etc_revenue) etc_revenue
            , max(collapse_bl.quantity) quantity
            , max(collapse_bl.actual_quantity) actual_quantity
            , max(collapse_bl.etc_quantity) etc_quantity
            , collapse_bl.start_date start_date
            , collapse_bl.end_date   end_date
			, collapse_bl.line_type
			, collapse_bl.calendar_type
			, collapse_bl.period_type_id
            , collapse_bl.row_id
	    ,collapse_bl.rate rate
	    ,collapse_bl.rate2 rate2
            , collapse_bl.plan_type_code plan_type_code
            , collapse_bl.WP_FLAG
            from
              (                  ----- Second inline view 'collapse_bl' begin .............
               select
                  spread_bl.row_id row_id
                , spread_bl.PROJECT_ID
                , spread_bl.BUDGET_VERSION_ID plan_version_id
				, spread_bl.time_id
                , spread_bl.RESOURCE_ASSIGNMENT_ID
                , spread_bl.WBS_ELEMENT_ID
                , spread_bl.RBS_ELEMENT_ID
                , spread_bl.WBS_STRUCT_VERSION_ID
                , spread_bl.RBS_STRUCT_VERSION_ID
  	 	        , spread_bl.plan_type_id
                , spread_bl.BILLABLE_FLAG
                , spread_bl.RESOURCE_CLASS
                , spread_bl.PROJECT_ORGANIZATION_ID
                , spread_bl.PROJECT_ORG_ID
                , spread_bl.TIME_PHASED_TYPE_CODE
                , DECODE( invert.INVERT_ID
                        , 1, spread_bl.glb1_CURRENCY_CODE
                        , 2, spread_bl.glb2_CURRENCY_CODE
                        , 4, spread_bl.func_CURRENCY_CODE
                        , 8, spread_bl.PRJ_CURRENCY_CODE
                        , 16, spread_bl.TXN_CURRENCY_CODE ) CURRENCY_CODE
                , invert.INVERT_ID CURR_RECORD_TYPE_ID
                , DECODE ( invert.INVERT_ID
                         , 1, spread_bl.glb1_raw_cost
                         , 2, spread_bl.glb2_raw_cost
                         , 4, spread_bl.func_raw_cost
                         , 8, spread_bl.PRJ_raw_cost
                         , 16, spread_bl.TXN_raw_cost) raw_cost
                , DECODE ( invert.INVERT_ID
                         , 1, spread_bl.glb1_brdn_cost
                         , 2, spread_bl.glb2_brdn_cost
                         , 4, spread_bl.func_BRDN_COST
                         , 8, spread_bl.PRJ_BRDN_COST
                         , 16, spread_bl.TXN_BRDN_COST ) BRDN_COST
                , DECODE ( invert.INVERT_ID
                         , 1, spread_bl.glb1_revenue
                         , 2, spread_bl.glb2_revenue
                         , 4, spread_bl.func_revenue
                         , 8, spread_bl.PRJ_revenue
                         , 16, spread_bl.TXN_revenue ) revenue
				, DECODE ( invert.INVERT_ID
                         , 1, spread_bl.glb1_actual_raw_cost
                         , 2, spread_bl.glb2_actual_raw_cost
				         , 4, spread_bl.func_actual_raw_cost
						 , 8, spread_bl.prj_actual_raw_cost
						 , 16, spread_bl.txn_actual_raw_cost ) actual_raw_cost
				, DECODE ( invert.INVERT_ID
				         , 1, spread_bl.glb1_actual_brdn_cost
						 , 2, spread_bl.glb2_actual_brdn_cost
				         , 4, spread_bl.func_actual_brdn_cost
						 , 8, spread_bl.prj_actual_brdn_cost
						 , 16, spread_bl.txn_actual_brdn_cost ) actual_brdn_cost
				, DECODE ( invert.INVERT_ID
				         , 1, spread_bl.glb1_actual_revenue
						 , 2, spread_bl.glb2_actual_revenue
				         , 4, spread_bl.func_actual_revenue
						 , 8, spread_bl.prj_actual_revenue
						 , 16, spread_bl.txn_actual_revenue ) actual_revenue
				, DECODE ( invert.INVERT_ID
				         , 1, spread_bl.glb1_etc_raw_cost
						 , 2, spread_bl.glb2_etc_raw_cost
				         , 4, spread_bl.func_etc_raw_cost
						 , 8, spread_bl.prj_etc_raw_cost
						 , 16, spread_bl.txn_etc_raw_cost ) etc_raw_cost
				, DECODE ( invert.INVERT_ID
				         , 1, spread_bl.glb1_etc_brdn_cost
						 , 2, spread_bl.glb2_etc_brdn_cost
				         , 4, spread_bl.func_etc_brdn_cost
						 , 8, spread_bl.prj_etc_brdn_cost
						 , 16, spread_bl.txn_etc_brdn_cost ) etc_brdn_cost
				, DECODE ( invert.INVERT_ID
				         , 1, spread_bl.glb1_etc_revenue
						 , 2, spread_bl.glb2_etc_revenue
				         , 4, spread_bl.func_etc_revenue
						 , 8, spread_bl.prj_etc_revenue
						 , 16, spread_bl.txn_etc_revenue ) etc_revenue
            	, spread_bl.quantity quantity
            	, spread_bl.actual_quantity actual_quantity
            	, spread_bl.etc_quantity etc_quantity
            	, spread_bl.start_date start_date
            	, spread_bl.end_date   end_date
            	, spread_bl.line_type line_type
				, spread_bl.period_type_id
				, spread_bl.calendar_type
 		,decode(invert.invert_id,1,spread_bl.rate,1) rate
 		,decode(invert.invert_id,2,spread_bl.rate2,1) rate2
                            , spread_bl.plan_type_code plan_type_code
                , spread_bl.WP_FLAG
                from
                  (
                    SELECT /*+ leading(VER PPA PEVS RA BL PRD RATES) use_hash(RA) use_hash(BL) */  -- Modified hints for bug 13897252
                	  ra.project_id
                	, bl.rowid row_id
                	, ra.budget_version_id
					, prd.cal_period_id time_id
                	, bl.resource_asSIGNment_id
                	, DECODE(ra.task_id, 0, pevs.proj_element_id, ra.task_id) wbs_element_id
                	, NVL(ra.rbs_element_id, -1)              rbs_element_id
                	, ver.wbs_struct_version_id      wbs_struct_version_id
                	, NVL(ver.rbs_struct_version_id, -1)    rbs_struct_version_id
			, ver.plan_type_id               plan_type_id
			, ra.rate_based_flag             billable_flag
			, ra.resource_class_code         resource_class
			, DECODE(ver.time_phased_type_code
               , g_pa_cal_str, 32
               , g_gl_cal_str, 32
               , 'N', 2048
               , -1) period_type_id
			   , DECODE(ver.time_phased_type_code
               , g_pa_cal_str, g_pa_cal_str
               , g_gl_cal_str, g_gl_cal_str
               , 'N', g_all
               , 'X')  CALENDAR_TYPE
                	, bl.txn_currency_code           txn_currency_code
                	, bl.txn_raw_cost                txn_raw_cost
                	, bl.txn_burdened_COST           txn_brdn_COST
                	, bl.txn_revenue                 txn_revenue
			, DECODE(ver.wp_flag, 'N', bl.txn_init_raw_cost, TO_NUMBER(NULL))                txn_actual_raw_cost  -- new
			, DECODE(ver.wp_flag, 'N', bl.txn_init_burdened_cost, TO_NUMBER(NULL))             txn_actual_brdn_cost  -- new
			, DECODE(ver.wp_flag, 'N', bl.txn_init_revenue, TO_NUMBER(NULL))                   txn_actual_revenue  -- new
			, DECODE(ver.wp_flag, 'N', (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0)), TO_NUMBER(NULL)) txn_etc_raw_cost     -- new
			, DECODE(ver.wp_flag, 'N', (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0)), TO_NUMBER(NULL)) txn_etc_brdn_cost     -- new
			, DECODE(ver.wp_flag, 'N', (bl.txn_revenue - NVL(bl.txn_init_revenue, 0)), TO_NUMBER(NULL)) txn_etc_revenue     -- new
                	, bl.project_currency_code          prj_currency_code
                	, bl.project_raw_cost               prj_raw_cost
                	, bl.project_burdened_COST          prj_BRDN_COST
                	, bl.project_revenue                prj_revenue
			, DECODE(ver.wp_flag, 'N', bl.project_init_raw_cost, TO_NUMBER(NULL))          prj_actual_raw_cost  -- new
			, DECODE(ver.wp_flag, 'N', bl.project_init_burdened_cost, TO_NUMBER(NULL))     prj_actual_brdn_cost  -- new
			, DECODE(ver.wp_flag, 'N', bl.project_init_revenue, TO_NUMBER(NULL))           prj_actual_revenue  -- new
			, DECODE(ver.wp_flag, 'N', (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0)), TO_NUMBER(NULL)) prj_etc_raw_cost     -- new
			, DECODE(ver.wp_flag, 'N', (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0)), TO_NUMBER(NULL)) prj_etc_brdn_cost     -- new
			, DECODE(ver.wp_flag, 'N', (bl.project_revenue - NVL(bl.project_init_revenue, 0)), TO_NUMBER(NULL)) prj_etc_revenue     -- new
                	, bl.projfunc_currency_code         func_currency_code
                  , bl.raw_cost                       func_raw_cost
                	, bl.burdened_COST                  func_BRDN_COST
                	, bl.revenue                        func_revenue
			, DECODE(ver.wp_flag, 'N', bl.init_raw_cost , TO_NUMBER(NULL))                 func_actual_raw_cost  -- new
			, DECODE(ver.wp_flag, 'N', bl.init_burdened_cost , TO_NUMBER(NULL))            func_actual_brdn_cost  -- new
			, DECODE(ver.wp_flag, 'N', bl.init_revenue , TO_NUMBER(NULL))                  func_actual_revenue  -- new
			, DECODE(ver.wp_flag, 'N', (bl.raw_cost - NVL(bl.init_raw_cost, 0)), TO_NUMBER(NULL)) func_etc_raw_cost     -- new
			, DECODE(ver.wp_flag, 'N', (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)), TO_NUMBER(NULL)) func_etc_brdn_cost     -- new
			, DECODE(ver.wp_flag, 'N', (bl.revenue - NVL(bl.init_revenue, 0)), TO_NUMBER(NULL)) func_etc_revenue     -- new
                	, g_global1_currency_code  glb1_currency_code
                  , DECODE (g_global1_currency_code
				          , bl.txn_currency_code
						  , bl.txn_raw_cost
						  , bl.project_currency_code
						  , bl.project_raw_cost
						  , bl.projfunc_currency_code
						  , bl.raw_cost
						  , ROUND((rates.rate * raw_cost )/rates.mau)*rates.mau
					) glb1_raw_cost
                  , DECODE (g_global1_currency_code
				          , bl.txn_currency_code
						  , bl.txn_burdened_cost
						  , bl.project_currency_code
						  , bl.project_burdened_cost
						  , bl.projfunc_currency_code
						  , bl.burdened_cost
						  , ROUND((rates.rate * burdened_cost )/rates.mau)*rates.mau
					) glb1_BRDN_COST
                  , DECODE (g_global1_currency_code
				          , bl.txn_currency_code
						  , bl.txn_revenue
						  , bl.project_currency_code
						  , bl.project_revenue
						  , bl.projfunc_currency_code
						  , bl.revenue
						  , ROUND((rates.rate * revenue )/rates.mau)*rates.mau
					)  glb1_revenue
			      , DECODE(ver.wp_flag
			             , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_raw_cost
						         , bl.project_currency_code
						         , bl.project_init_raw_cost
						         , bl.projfunc_currency_code
						         , bl.init_raw_cost
						         , ROUND((rates.rate * bl.init_raw_cost )/rates.mau)*rates.mau
					              )
						 , NULL)                 glb1_actual_raw_cost
   			      , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_burdened_cost
						         , bl.project_currency_code
						         , bl.project_init_burdened_cost
						         , bl.projfunc_currency_code
						         , bl.init_burdened_cost
						         , ROUND((rates.rate * bl.init_burdened_cost )/rates.mau)*rates.mau
					              )
						 , NULL)            glb1_actual_brdn_cost
			      , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_revenue
						         , bl.project_currency_code
						         , bl.project_init_revenue
						         , bl.projfunc_currency_code
						         , bl.init_revenue
						         , ROUND((rates.rate * bl.init_revenue )/rates.mau)*rates.mau
					              )
						 , NULL)                  glb1_actual_revenue
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0))
						         , bl.project_currency_code
						         , (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0))
						         , bl.projfunc_currency_code
						         , (bl.raw_cost - NVL(bl.init_raw_cost, 0))
						         , ROUND((rates.rate * (bl.raw_cost - NVL(bl.init_raw_cost, 0)) )/rates.mau)*rates.mau
					              )
						 , NULL)                glb1_etc_raw_cost
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0))
						         , bl.project_currency_code
						         , (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0))
						         , bl.projfunc_currency_code
						         , (bl.burdened_cost - NVL(bl.init_burdened_cost, 0))
						         , ROUND((rates.rate * (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)) )/rates.mau)*rates.mau
					              )
						 , NULL)    glb1_etc_brdn_cost
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_revenue - NVL(bl.txn_init_revenue, 0))
						         , bl.project_currency_code
						         , (bl.project_revenue - NVL(bl.project_init_revenue, 0))
						         , bl.projfunc_currency_code
						         , (bl.revenue - NVL(bl.init_revenue, 0))
						         , ROUND((rates.rate * (bl.revenue - NVL(bl.init_revenue, 0)) )/rates.mau)*rates.mau
					              )
						 , NULL)    glb1_etc_revenue
                	, g_global2_currency_code  glb2_currency_code -- g_global2_currency_code        glb2_currency_code
                  , DECODE (g_global2_currency_code
				          , bl.txn_currency_code
						  , bl.txn_raw_cost
						  , bl.project_currency_code
						  , bl.project_raw_cost
						  , bl.projfunc_currency_code
						  , bl.raw_cost
						  , ROUND((rates.rate2 * raw_cost )/rates.mau2)*rates.mau2
					) glb2_raw_cost
                  , DECODE (g_global2_currency_code
				          , bl.txn_currency_code
						  , bl.txn_burdened_cost
						  , bl.project_currency_code
						  , bl.project_burdened_cost
						  , bl.projfunc_currency_code
						  , bl.burdened_cost
						  , ROUND((rates.rate2 * burdened_cost )/rates.mau2)*rates.mau2
					) glb2_BRDN_COST
                  , DECODE (g_global2_currency_code
				          , bl.txn_currency_code
						  , bl.txn_revenue
						  , bl.project_currency_code
						  , bl.project_revenue
						  , bl.projfunc_currency_code
						  , bl.revenue
						  , ROUND((rates.rate2 * revenue )/rates.mau2)*rates.mau2
					)  glb2_revenue
			      , DECODE(ver.wp_flag
			             , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_raw_cost
						         , bl.project_currency_code
						         , bl.project_init_raw_cost
						         , bl.projfunc_currency_code
						         , bl.init_raw_cost
						         , ROUND((rates.rate2 * bl.init_raw_cost )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))                 glb2_actual_raw_cost
   			      , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_burdened_cost
						         , bl.project_currency_code
						         , bl.project_init_burdened_cost
						         , bl.projfunc_currency_code
						         , bl.init_burdened_cost
						         , ROUND((rates.rate2 * bl.init_burdened_cost )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))            glb2_actual_brdn_cost
			      , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_revenue
						         , bl.project_currency_code
						         , bl.project_init_revenue
						         , bl.projfunc_currency_code
						         , bl.init_revenue
						         , ROUND((rates.rate2 * bl.init_revenue )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))                  glb2_actual_revenue
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0))
						         , bl.project_currency_code
						         , (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0))
						         , bl.projfunc_currency_code
						         , (bl.raw_cost - NVL(bl.init_raw_cost, 0))
						         , ROUND((rates.rate2 * (bl.raw_cost - NVL(bl.init_raw_cost, 0)) )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))                glb2_etc_raw_cost
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0))
						         , bl.project_currency_code
						         , (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0))
						         , bl.projfunc_currency_code
						         , (bl.burdened_cost - NVL(bl.init_burdened_cost, 0))
						         , ROUND((rates.rate2 * (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)) )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))    glb2_etc_brdn_cost
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_revenue - NVL(bl.txn_init_revenue, 0))
						         , bl.project_currency_code
						         , (bl.project_revenue - NVL(bl.project_init_revenue, 0))
						         , bl.projfunc_currency_code
						         , (bl.revenue - NVL(bl.init_revenue, 0))
						         , ROUND((rates.rate2 * (bl.revenue - NVL(bl.init_revenue, 0)) )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))    glb2_etc_revenue
                  , bl.quantity                    quantity
			, DECODE(ver.wp_flag, 'N', bl.init_quantity, TO_NUMBER(NULL))                  actual_quantity  -- new
			, DECODE(ver.wp_flag, 'N', (bl.quantity - NVL(bl.init_quantity, 0)), TO_NUMBER(NULL)) etc_quantity  -- new
                	, TO_DATE(NULL) start_date -- bl.start_date
                	, TO_DATE(NULL) end_date -- bl.END_date
                	, ver.time_phased_type_code time_phased_type_code
                	, ppa.org_id project_org_id
                	, ppa.carrying_out_organization_id project_organization_id
					, DECODE(ver.time_phased_type_code, g_pa_cal_str, 'OF', g_gl_cal_str, 'OF', 'N', 'NTP', 'X') line_type
 			,decode(ver.rate_dangling_flag,'Y',-1,1) rate
 			,decode(ver.rate_dangling_flag,'Y',-1,1) rate2
                               , ver.plan_type_code plan_type_code   /*4471527 */
                        , ver.WP_FLAG
				 FROM
                   PJI_FM_EXTR_PLNVER4           ver
                 , pa_resource_asSIGNments       ra
                 , PA_BUDGET_LINES               bl
                 , pa_projects_all               ppa
                 , PJI_ORG_EXTR_INFO             oei
                 , pji_time_cal_period_v         prd
                 , PJI_FM_AGGR_DLY_RATES         rates
                 , PA_PROJ_ELEM_VER_STRUCTURE    pevs
                 WHERE 1=1
				     AND ra.resource_asSIGNment_id = bl.resource_asSIGNment_id
                     AND ra.project_id = ver.PROJECT_ID
                     AND ra.budget_version_id = ver.plan_version_id
                     AND ver.project_id = ppa.project_id
                     AND txn_currency_code IS NOT NULL
                     AND bl.project_currency_code IS NOT NULL
                     AND bl.projfunc_currency_code IS NOT NULL
			         AND pevs.element_version_id = ver.wbs_struct_version_id
                     AND ver.project_id = pevs.project_id
	 		         AND ver.secondary_rbs_flag = 'N'
					 AND ver.wp_flag = 'N'
					 AND ver.baselined_flag = 'Y'
					 AND oei.org_id = ppa.org_id
					 AND ver.time_phased_type_code IN (g_pa_cal_str, g_gl_cal_str)
					 AND DECODE ( ver.time_phased_type_code
					            , g_pa_cal_str, oei.pa_calendar_id
								, g_gl_cal_str, oei.gl_calendar_id) = prd.calendar_id
					 AND bl.period_name = prd.name
					 AND rates.time_id = prd.cal_period_id
					 AND rates.worker_id = g_worker_id
					 AND rates.pf_currency_code = bl.projfunc_currency_code -- 4764334
					 AND ver.worker_id = g_worker_id
                UNION ALL
                    SELECT /*+ leading(VER PPA PEVS RA BL RATES) use_hash(RA) use_hash(BL)*/  -- Modified hints for bug 13897252
                	  ra.project_id
                	, bl.rowid row_id
                	, ra.budget_version_id
					, -1 time_id
                	, bl.resource_asSIGNment_id
                	, DECODE(ra.task_id, 0, pevs.proj_element_id, ra.task_id) wbs_element_id
                	, NVL(ra.rbs_element_id, -1)              rbs_element_id
                	, ver.wbs_struct_version_id      wbs_struct_version_id
                	, NVL(ver.rbs_struct_version_id, -1)    rbs_struct_version_id
			, ver.plan_type_id               plan_type_id
			, ra.rate_based_flag             billable_flag
			, ra.resource_class_code         resource_class
			, 2048 period_type_id
			   , g_all CALENDAR_TYPE
                	, bl.txn_currency_code           txn_currency_code
                	, bl.txn_raw_cost                txn_raw_cost
                	, bl.txn_burdened_COST           txn_brdn_COST
                	, bl.txn_revenue                 txn_revenue
			, DECODE(ver.wp_flag, 'N' , bl.txn_init_raw_cost, TO_NUMBER(NULL))                txn_actual_raw_cost  -- new
			, DECODE(ver.wp_flag, 'N' , bl.txn_init_burdened_cost, TO_NUMBER(NULL))             txn_actual_brdn_cost  -- new
			, DECODE(ver.wp_flag, 'N' , bl.txn_init_revenue, TO_NUMBER(NULL))                   txn_actual_revenue  -- new
			, DECODE(ver.wp_flag, 'N' , (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0)), TO_NUMBER(NULL)) txn_etc_raw_cost     -- new
			, DECODE(ver.wp_flag, 'N' , (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0)), TO_NUMBER(NULL)) txn_etc_brdn_cost     -- new
			, DECODE(ver.wp_flag, 'N' , (bl.txn_revenue - NVL(bl.txn_init_revenue, 0)), TO_NUMBER(NULL)) txn_etc_revenue     -- new
                	, bl.project_currency_code          prj_currency_code
                	, bl.project_raw_cost               prj_raw_cost
                	, bl.project_burdened_COST          prj_BRDN_COST
                	, bl.project_revenue                prj_revenue
			, DECODE(ver.wp_flag, 'N' , bl.project_init_raw_cost, TO_NUMBER(NULL))          prj_actual_raw_cost  -- new
			, DECODE(ver.wp_flag, 'N' , bl.project_init_burdened_cost, TO_NUMBER(NULL))     prj_actual_brdn_cost  -- new
			, DECODE(ver.wp_flag, 'N' , bl.project_init_revenue, TO_NUMBER(NULL))           prj_actual_revenue  -- new
			, DECODE(ver.wp_flag, 'N' , (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0)), TO_NUMBER(NULL)) prj_etc_raw_cost     -- new
			, DECODE(ver.wp_flag, 'N' , (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0)), TO_NUMBER(NULL)) prj_etc_brdn_cost     -- new
			, DECODE(ver.wp_flag, 'N' , (bl.project_revenue - NVL(bl.project_init_revenue, 0)), TO_NUMBER(NULL)) prj_etc_revenue     -- new
                	, bl.projfunc_currency_code         func_currency_code
                  , bl.raw_cost                       func_raw_cost
                	, bl.burdened_COST                  func_BRDN_COST
                	, bl.revenue                        func_revenue
			, DECODE(ver.wp_flag, 'N' , bl.init_raw_cost , TO_NUMBER(NULL))                 func_actual_raw_cost  -- new
			, DECODE(ver.wp_flag, 'N' , bl.init_burdened_cost , TO_NUMBER(NULL))            func_actual_brdn_cost  -- new
			, DECODE(ver.wp_flag, 'N' , bl.init_revenue , TO_NUMBER(NULL))                  func_actual_revenue  -- new
			, DECODE(ver.wp_flag, 'N' , (bl.raw_cost - NVL(bl.init_raw_cost, 0)), TO_NUMBER(NULL)) func_etc_raw_cost     -- new
			, DECODE(ver.wp_flag, 'N' , (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)), TO_NUMBER(NULL)) func_etc_brdn_cost     -- new
			, DECODE(ver.wp_flag, 'N' , (bl.revenue - NVL(bl.init_revenue, 0)), TO_NUMBER(NULL)) func_etc_revenue     -- new
                	, g_global1_currency_code   glb1_currency_code
                  , DECODE (g_global1_currency_code
				          , bl.txn_currency_code
						  , bl.txn_raw_cost
						  , bl.project_currency_code
						  , bl.project_raw_cost
						  , bl.projfunc_currency_code
						  , bl.raw_cost
						  , ROUND((rates.rate * raw_cost )/rates.mau)*rates.mau
					) glb1_raw_cost
                  , DECODE (g_global1_currency_code
				          , bl.txn_currency_code
						  , bl.txn_burdened_cost
						  , bl.project_currency_code
						  , bl.project_burdened_cost
						  , bl.projfunc_currency_code
						  , bl.burdened_cost
						  , ROUND((rates.rate * burdened_cost )/rates.mau)*rates.mau
					) glb1_BRDN_COST
                  , DECODE (g_global1_currency_code
				          , bl.txn_currency_code
						  , bl.txn_revenue
						  , bl.project_currency_code
						  , bl.project_revenue
						  , bl.projfunc_currency_code
						  , bl.revenue
						  , ROUND((rates.rate * revenue )/rates.mau)*rates.mau
					)  glb1_revenue
			      , DECODE(ver.wp_flag
			             , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_raw_cost
						         , bl.project_currency_code
						         , bl.project_init_raw_cost
						         , bl.projfunc_currency_code
						         , bl.init_raw_cost
						         , ROUND((rates.rate * bl.init_raw_cost )/rates.mau)*rates.mau
					              )
						 , NULL)                 glb1_actual_raw_cost
   			      , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_burdened_cost
						         , bl.project_currency_code
						         , bl.project_init_burdened_cost
						         , bl.projfunc_currency_code
						         , bl.init_burdened_cost
						         , ROUND((rates.rate * bl.init_burdened_cost )/rates.mau)*rates.mau
					              )
						 , NULL)            glb1_actual_brdn_cost
			      , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_revenue
						         , bl.project_currency_code
						         , bl.project_init_revenue
						         , bl.projfunc_currency_code
						         , bl.init_revenue
						         , ROUND((rates.rate * bl.init_revenue )/rates.mau)*rates.mau
					              )
						 , NULL)                  glb1_actual_revenue
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0))
						         , bl.project_currency_code
						         , (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0))
						         , bl.projfunc_currency_code
						         , (bl.raw_cost - NVL(bl.init_raw_cost, 0))
						         , ROUND((rates.rate * (bl.raw_cost - NVL(bl.init_raw_cost, 0)) )/rates.mau)*rates.mau
					              )
						 , NULL)                glb1_etc_raw_cost
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0))
						         , bl.project_currency_code
						         , (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0))
						         , bl.projfunc_currency_code
						         , (bl.burdened_cost - NVL(bl.init_burdened_cost, 0))
						         , ROUND((rates.rate * (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)) )/rates.mau)*rates.mau
					              )
						 , NULL)    glb1_etc_brdn_cost
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global1_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_revenue - NVL(bl.txn_init_revenue, 0))
						         , bl.project_currency_code
						         , (bl.project_revenue - NVL(bl.project_init_revenue, 0))
						         , bl.projfunc_currency_code
						         , (bl.revenue - NVL(bl.init_revenue, 0))
						         , ROUND((rates.rate * (bl.revenue - NVL(bl.init_revenue, 0)) )/rates.mau)*rates.mau
					              )
						 , NULL)    glb1_etc_revenue
                	, g_global2_currency_code   glb2_currency_code -- g_global2_currency_code         glb2_currency_code
                  , DECODE (g_global2_currency_code
				          , bl.txn_currency_code
						  , bl.txn_raw_cost
						  , bl.project_currency_code
						  , bl.project_raw_cost
						  , bl.projfunc_currency_code
						  , bl.raw_cost
						  , ROUND((rates.rate2 * raw_cost )/rates.mau2)*rates.mau2
					) glb2_raw_cost
                  , DECODE (g_global2_currency_code
				          , bl.txn_currency_code
						  , bl.txn_burdened_cost
						  , bl.project_currency_code
						  , bl.project_burdened_cost
						  , bl.projfunc_currency_code
						  , bl.burdened_cost
						  , ROUND((rates.rate2 * burdened_cost )/rates.mau2)*rates.mau2
					) glb2_BRDN_COST
                  , DECODE (g_global2_currency_code
				          , bl.txn_currency_code
						  , bl.txn_revenue
						  , bl.project_currency_code
						  , bl.project_revenue
						  , bl.projfunc_currency_code
						  , bl.revenue
						  , ROUND((rates.rate2 * revenue )/rates.mau2)*rates.mau2
					)  glb2_revenue
			      , DECODE(ver.wp_flag
			             , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_raw_cost
						         , bl.project_currency_code
						         , bl.project_init_raw_cost
						         , bl.projfunc_currency_code
						         , bl.init_raw_cost
						         , ROUND((rates.rate2 * bl.init_raw_cost )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))                 glb2_actual_raw_cost
   			      , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_burdened_cost
						         , bl.project_currency_code
						         , bl.project_init_burdened_cost
						         , bl.projfunc_currency_code
						         , bl.init_burdened_cost
						         , ROUND((rates.rate2 * bl.init_burdened_cost )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))            glb2_actual_brdn_cost
			      , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , bl.txn_init_revenue
						         , bl.project_currency_code
						         , bl.project_init_revenue
						         , bl.projfunc_currency_code
						         , bl.init_revenue
						         , ROUND((rates.rate2 * bl.init_revenue )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))                  glb2_actual_revenue
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_raw_cost - NVL(bl.txn_init_raw_cost, 0))
						         , bl.project_currency_code
						         , (bl.project_raw_cost - NVL(bl.project_init_raw_cost, 0))
						         , bl.projfunc_currency_code
						         , (bl.raw_cost - NVL(bl.init_raw_cost, 0))
						         , ROUND((rates.rate2 * (bl.raw_cost - NVL(bl.init_raw_cost, 0)) )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))                glb2_etc_raw_cost
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_burdened_cost - NVL(bl.txn_init_burdened_cost, 0))
						         , bl.project_currency_code
						         , (bl.project_burdened_cost - NVL(bl.project_init_burdened_cost, 0))
						         , bl.projfunc_currency_code
						         , (bl.burdened_cost - NVL(bl.init_burdened_cost, 0))
						         , ROUND((rates.rate2 * (bl.burdened_cost - NVL(bl.init_burdened_cost, 0)) )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))    glb2_etc_brdn_cost
				  , DECODE(ver.wp_flag
				         , 'N'
						 , DECODE (g_global2_currency_code
				                 , bl.txn_currency_code
						         , (bl.txn_revenue - NVL(bl.txn_init_revenue, 0))
						         , bl.project_currency_code
						         , (bl.project_revenue - NVL(bl.project_init_revenue, 0))
						         , bl.projfunc_currency_code
						         , (bl.revenue - NVL(bl.init_revenue, 0))
						         , ROUND((rates.rate2 * (bl.revenue - NVL(bl.init_revenue, 0)) )/rates.mau2)*rates.mau2
					              )
						 , TO_NUMBER(NULL))    glb2_etc_revenue
                  , bl.quantity                    quantity
			, DECODE(ver.wp_flag, 'N' , bl.init_quantity, TO_NUMBER(NULL))                  actual_quantity  -- new
			, DECODE(ver.wp_flag, 'N' , (bl.quantity - NVL(bl.init_quantity, 0)), TO_NUMBER(NULL)) etc_quantity  -- new
                	, ra.planning_start_date
                	, ra.planning_END_date
                	, ver.time_phased_type_code time_phased_type_code
                	, ppa.org_id project_org_id
                	, ppa.carrying_out_organization_id project_organization_id
					, 'NTP' line_type
 			,decode(ver.rate_dangling_flag,'Y',-1,1) rate
 			,decode(ver.rate_dangling_flag,'Y',-1,1) rate2
	, ver.plan_type_code plan_type_code   /*4471527 */
                        , ver.WP_FLAG
				 FROM
                       PJI_FM_EXTR_PLNVER4           ver
                     , pa_resource_asSIGNments       ra
                     , PA_BUDGET_LINES               bl
                     , pa_projects_all               ppa
                     , PJI_FM_AGGR_DLY_RATES         rates
                     , PA_PROJ_ELEM_VER_STRUCTURE    pevs
                 WHERE 1=1
				     AND ra.resource_asSIGNment_id = bl.resource_asSIGNment_id
                     AND ra.project_id = ver.PROJECT_ID
                     AND ra.budget_version_id = ver.plan_version_id
                     AND ver.project_id = ppa.project_id
                     AND txn_currency_code IS NOT NULL
                     AND bl.project_currency_code IS NOT NULL
                     AND bl.projfunc_currency_code IS NOT NULL
			         AND pevs.element_version_id = ver.wbs_struct_version_id
                     AND ver.project_id = pevs.project_id
	 		         AND ver.secondary_rbs_flag = 'N'
					 AND ver.wp_flag = 'N'
					 AND ver.baselined_flag = 'Y'
					 AND ver.time_phased_type_code = 'N'
					 AND rates.time_id = DECODE ( g_currency_conversion_rule
                               , 'S'
					 , TO_NUMBER(to_CHAR(ra.planning_start_date, 'J'))
					 , 'E'
					 , TO_NUMBER(to_CHAR(ra.planning_end_date, 'J')) )
					 AND rates.worker_id = g_worker_id
					 AND rates.pf_currency_code = bl.projfunc_currency_code -- 4764334
					 AND ver.worker_id = g_worker_id
				  ) spread_bl
            	  ,
            	    (
                      select 1   INVERT_ID from dual union all
                      select 2   INVERT_ID from dual where PJI_UTILS.GET_SETUP_PARAMETER('GLOBAL_CURR2_FLAG') = 'Y' union all
                      select 4   INVERT_ID from dual union all
                      select 8   INVERT_ID from dual union all
                      select 16  INVERT_ID from dual where PJI_UTILS.GET_SETUP_PARAMETER('TXN_CURR_FLAG') = 'Y'
                    ) invert
				)  collapse_bl
			GROUP BY
              collapse_bl.PROJECT_ID
			, collapse_bl.time_id
            , collapse_bl.WBS_ELEMENT_ID
            , collapse_bl.RBS_ELEMENT_ID
            , collapse_bl.RBS_STRUCT_VERSION_ID
			, collapse_bl.plan_type_id
            , collapse_bl.plan_version_id
            , collapse_bl.PROJECT_ORGANIZATION_ID
            , collapse_bl.PROJECT_ORG_ID
            , collapse_bl.RESOURCE_ASSIGNMENT_ID
            , collapse_bl.BILLABLE_FLAG
            , collapse_bl.RESOURCE_CLASS
            , collapse_bl.TIME_PHASED_TYPE_CODE
            , collapse_bl.CURRENCY_CODE
            , collapse_bl.start_date
            , collapse_bl.end_date
            , collapse_bl.row_id
			, collapse_bl.line_type
			, collapse_bl.calendar_type
			, collapse_bl.period_type_id
	    ,collapse_bl.rate
	    ,collapse_bl.rate2
           , collapse_bl.plan_type_code  /*4471527 */
            , collapse_bl.WP_FLAG
       ) plr
	  WHERE 1=1
          AND plr.currency_code IS NOT NULL
       GROUP BY
         plr.PROJECT_ID
       , plr.PROJECT_ORG_ID
       , plr.project_ORGANIZATION_ID
       , plr.WBS_ELEMENT_ID
       , plr.time_id
       , plr.period_type_id
       , plr.CALENDAR_TYPE
       , plr.CURR_RECORD_TYPE
  	   , plr.currency_code
       , plr.RBS_ELEMENT_ID
       , plr.RBS_STRUCT_VERSION_ID
       , plr.plan_version_id
  	 , plr.plan_type_id
       , plr.start_date
  	 , plr.end_date
	  , plr.line_type
	  ,decode(sign(plr.rate),-1,'Y',NULL) ||decode(sign(plr.rate2),-1,'Y',NULL)
       ,plr.plan_type_code
  )
 GROUP BY
	 WORKER_ID
	,PROJECT_ID
	,PROJECT_ORG_ID
	,project_ORGANIZATION_ID
	,WBS_ELEMENT_ID
	,time_id
	,period_type_id
	,CALENDAR_TYPE
	,RBS_AGGR_LEVEL
	,WBS_ROLLUP_FLAG
	,PRG_ROLLUP_FLAG
	,CURR_RECORD_TYPE
	,currency_code
	,RBS_ELEMENT_ID
	,RBS_STRUCT_VERSION_ID
	,plan_version_id
	,plan_type_id
        ,LINE_TYPE
        ,rate_dangling_flag
        ,time_dangling_flag
        ,start_date
        ,end_date
        ,prg_level
        ,plan_type_code ;
Line: 4193

 INSERT INTO PJI_FP_AGGR_PJP1
    (
         WORKER_ID
       , PROJECT_ID
       , PROJECT_ORG_ID
       , PROJECT_ORGANIZATION_ID
       , PROJECT_ELEMENT_ID
       , TIME_ID
       , PERIOD_TYPE_ID
       , CALENDAR_TYPE
       , RBS_AGGR_LEVEL
       , WBS_ROLLUP_FLAG
       , PRG_ROLLUP_FLAG
       , CURR_RECORD_TYPE_ID
       , CURRENCY_CODE
       , RBS_ELEMENT_ID
       , RBS_VERSION_ID
       , PLAN_VERSION_ID
       , PLAN_TYPE_ID
       , RAW_COST
       , BRDN_COST
       , REVENUE
       , BILL_RAW_COST
       , BILL_BRDN_COST
       , BILL_LABOR_RAW_COST
       , BILL_LABOR_BRDN_COST
       , BILL_LABOR_HRS
       , EQUIPMENT_RAW_COST
       , EQUIPMENT_BRDN_COST
       , CAPITALIZABLE_RAW_COST
       , CAPITALIZABLE_BRDN_COST
       , LABOR_RAW_COST
       , LABOR_BRDN_COST
       , LABOR_HRS
       , LABOR_REVENUE
       , EQUIPMENT_HOURS
       , BILLABLE_EQUIPMENT_HOURS
       , SUP_INV_COMMITTED_COST
       , PO_COMMITTED_COST
       , PR_COMMITTED_COST
       , OTH_COMMITTED_COST
       , ACT_LABOR_HRS
	   , ACT_EQUIP_HRS
	   , ACT_LABOR_BRDN_COST
	   , ACT_EQUIP_BRDN_COST
	   , ACT_BRDN_COST
	   , ACT_RAW_COST
	   , ACT_REVENUE
         , ACT_LABOR_RAW_COST
         , ACT_EQUIP_RAW_COST
	   , ETC_LABOR_HRS
	   , ETC_EQUIP_HRS
	   , ETC_LABOR_BRDN_COST
	   , ETC_EQUIP_BRDN_COST
	   , ETC_BRDN_COST
         , ETC_RAW_COST
         , ETC_LABOR_RAW_COST
         , ETC_EQUIP_RAW_COST
       , CUSTOM1
       , CUSTOM2
       , CUSTOM3
       , CUSTOM4
       , CUSTOM5
       , CUSTOM6
       , CUSTOM7
       , CUSTOM8
       , CUSTOM9
       , CUSTOM10
       , CUSTOM11
       , CUSTOM12
       , CUSTOM13
       , CUSTOM14
       , CUSTOM15
       , LINE_TYPE
       , RATE_DANGLING_FLAG
       , TIME_DANGLING_FLAG
        , START_DATE
        , END_DATE
       , PRG_LEVEL
       , PLAN_TYPE_CODE
	)
SELECT /*+ use_hash(fact) use_hash(fp) */            -- Modified hints for bug 13897252
  g_worker_id WORKER_ID
 ,fact.PROJECT_ID
 ,fact.PROJECT_ORG_ID
 ,fact.PROJECT_ORGANIZATION_ID
 ,fact.PROJECT_ELEMENT_ID
 ,fact.TIME_ID
 ,fact.PERIOD_TYPE_ID
 ,fact.CALENDAR_TYPE
 ,fact.RBS_AGGR_LEVEL
 ,fact.WBS_ROLLUP_FLAG
 ,fact.PRG_ROLLUP_FLAG
 ,fact.CURR_RECORD_TYPE_ID
 ,fact.CURRENCY_CODE
 ,fact.RBS_ELEMENT_ID
 ,fact.RBS_VERSION_ID
 ,fact.PLAN_VERSION_ID
 ,fact.PLAN_TYPE_ID
 ,-fact.RAW_COST
 ,-fact.BRDN_COST
 ,-fact.REVENUE
 ,-fact.BILL_RAW_COST
 ,-fact.BILL_BRDN_COST
 ,-fact.BILL_LABOR_RAW_COST
 ,-fact.BILL_LABOR_BRDN_COST
 ,-fact.BILL_LABOR_HRS
 ,-fact.EQUIPMENT_RAW_COST
 ,-fact.EQUIPMENT_BRDN_COST
 ,-fact.CAPITALIZABLE_RAW_COST
 ,-fact.CAPITALIZABLE_BRDN_COST
 ,-fact.LABOR_RAW_COST
 ,-fact.LABOR_BRDN_COST
 ,-fact.LABOR_HRS
 ,-fact.LABOR_REVENUE
 ,-fact.EQUIPMENT_HOURS
 ,-fact.BILLABLE_EQUIPMENT_HOURS
 ,-fact.SUP_INV_COMMITTED_COST
 ,-fact.PO_COMMITTED_COST
 ,-fact.PR_COMMITTED_COST
 ,-fact.OTH_COMMITTED_COST
 ,-fact.ACT_LABOR_HRS
 ,-fact.ACT_EQUIP_HRS
 ,-fact.ACT_LABOR_BRDN_COST
 ,-fact.ACT_EQUIP_BRDN_COST
 ,-fact.ACT_BRDN_COST
 ,-fact.ACT_RAW_COST
 ,-fact.ACT_REVENUE
 ,-fact.ACT_LABOR_RAW_COST
 ,-fact.ACT_EQUIP_RAW_COST
 ,-fact.ETC_LABOR_HRS
 ,-fact.ETC_EQUIP_HRS
 ,-fact.ETC_LABOR_BRDN_COST
 ,-fact.ETC_EQUIP_BRDN_COST
 ,-fact.ETC_BRDN_COST
 ,-fact.ETC_RAW_COST
 ,-fact.ETC_LABOR_RAW_COST
 ,-fact.ETC_EQUIP_RAW_COST
 ,-fact.CUSTOM1
 ,-fact.CUSTOM2
 ,-fact.CUSTOM3
 ,-fact.CUSTOM4
 ,-fact.CUSTOM5
 ,-fact.CUSTOM6
 ,-fact.CUSTOM7
 ,-fact.CUSTOM8
 ,-fact.CUSTOM9
 ,-fact.CUSTOM10
 ,-fact.CUSTOM11
 ,-fact.CUSTOM12
 ,-fact.CUSTOM13
 ,-fact.CUSTOM14
 ,-fact.CUSTOM15
 ,DECODE(ver.time_phased_type_code,'N',
			DECODE(fact.calendar_type,'A','NTP','CF'),
			fact.calendar_type,'OF','CF') LINE_TYPE
 ,NULL RATE_DANGLING_FLAG
 ,NULL TIME_DANGLING_FLAG
  ,TO_DATE(NULL) START_DATE
  ,TO_DATE(NULL) END_DATE
 ,g_default_prg_level PRG_LEVEL
 , fact.plan_type_code   plan_type_code
FROM
    pji_fp_xbs_accum_f fact,
    pji_fm_extr_plnver4 ver,
    pa_proj_fp_options fp
WHERE fact.plan_version_id=ver.plan_version_id
   AND fact.project_id = fp.project_id
   AND fact.plan_type_id = fp.fin_plan_type_id
   AND fact.plan_version_id = fp.fin_plan_version_id
   AND fact.plan_type_code = ver.plan_type_code
  AND fact.project_id = ver.project_id
  AND NVL(ver.rbs_struct_version_id,-1) = fact.rbs_version_id
  AND ver.worker_id = g_worker_id
  AND ver.wp_flag = 'N'
  AND ver.baselined_flag = 'Y'
  AND fact.rbs_aggr_level='L'
  AND fact.wbs_rollup_flag='N'
  AND fact.PRG_ROLLUP_FLAG ='N'
  AND ((ver.time_phased_type_code = 'N'
         AND fact.calendar_type = 'A')
         OR ((fact.calendar_type = 'A'
        AND ((Decode(fact.plan_type_code,'A',fp.all_fin_plan_level_code,
                                         'C',fp.cost_fin_plan_level_code,
                                         'R',fp.revenue_fin_plan_level_code) = 'L')
              OR ((Decode(fact.plan_type_code,'A',fp.all_fin_plan_level_code,
                                              'C',fp.cost_fin_plan_level_code,
                                              'R',fp.revenue_fin_plan_level_code) IN ('T','P'))
                  AND Decode(fact.plan_type_code,'A',fp.all_time_phased_code,
                                                 'C',fp.cost_time_phased_code,
                                                 'R',fp.revenue_time_phased_code) = 'P'))))
              OR (fact.calendar_type IN ('P','G','E')
                  AND period_type_id = 32));
Line: 4395

PROCEDURE UPDATE_WBS_HDR_1 is
  pragma autonomous_transaction;
Line: 4399

    SELECT /*+ parallel(pjp1) */
         pjp1.project_id
       , pjp1.plan_version_id
       , NVL(pjp1.plan_type_id, -1) plan_type_id
       , pjp1.PLAN_TYPE_CODE
       , MIN(cal.start_date) min_txn_date
       , MAX(cal.end_date) max_txn_date
    FROM PJI_FP_AGGR_PJP1    pjp1
       , pji_time_cal_period_v   cal
   WHERE
         pjp1.worker_id = g_worker_id
     AND pjp1.time_id = cal.cal_period_id
     AND pjp1.calendar_type IN ('P', 'G')
     GROUP BY
         pjp1.project_id
       , pjp1.plan_version_id
       , NVL(pjp1.plan_type_id, -1)
       , pjp1.PLAN_TYPE_CODE
/* Added for bug 13897252 starts */
  UNION ALL
    SELECT /*+ parallel(pjp2) */
         pjp2.project_id
       , pjp2.plan_version_id
       , NVL(pjp2.plan_type_id, -1) plan_type_id
       , pjp2.PLAN_TYPE_CODE
       , MIN(cal.start_date) min_txn_date
       , MAX(cal.end_date) max_txn_date
    FROM PJI_FP_AGGR_PJP2    pjp2
       , pji_time_cal_period_v   cal
   WHERE
         pjp2.worker_id = g_worker_id
     AND pjp2.time_id = cal.cal_period_id
     AND pjp2.calendar_type IN ('P', 'G')
     GROUP BY
         pjp2.project_id
       , pjp2.plan_version_id
       , NVL(pjp2.plan_type_id, -1)
       , pjp2.PLAN_TYPE_CODE ;
Line: 4467

        UPDATE /*+ index(whdr,PJI_PJP_WBS_HEADER_N1) */
        PJI_PJP_WBS_HEADER whdr
        SET  MIN_TXN_DATE = LEAST(min_txn_date_tab(i),  NVL(whdr.min_txn_date, min_txn_date_tab(i)))
        , MAX_TXN_DATE =  GREATEST(max_txn_date_tab(i),  NVL(whdr.max_txn_date, max_txn_date_tab(i)))
        , LAST_UPDATE_DATE = sysdate
        , LAST_UPDATED_BY = -9999
        , LAST_UPDATE_LOGIN = -9999
        WHERE     whdr.plan_version_id = plan_ver_id_tab(i)
        AND  whdr.project_id = proj_id_tab(i)
        AND  NVL(whdr.plan_type_id, -1) = plan_type_id_tab(i)
        AND  whdr.plan_type_code = plan_type_code_tab(i);
Line: 4480

        proj_id_tab.delete;
Line: 4481

        plan_ver_id_tab.delete;
Line: 4482

        plan_type_id_tab.delete;
Line: 4483

        plan_type_code_tab.delete;
Line: 4484

        min_txn_date_tab.delete;
Line: 4485

        max_txn_date_tab.delete;
Line: 4493

END UPDATE_WBS_HDR_1;
Line: 4497

    l_last_updated_by      NUMBER := FND_GLOBAL.USER_ID;
Line: 4499

    l_last_update_login    NUMBER := FND_GLOBAL.LOGIN_ID;
Line: 4534

       FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_FP_XBS_ACCUM_F'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME
                      AND    status <> 'UNUSABLE') LOOP

        IF ind_lp.partitioned = 'YES' THEN

	 EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION P'||g_worker_id||' UNUSABLE';
Line: 4552

       FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_FP_AGGR_PJP2'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME
                      AND    status <> 'UNUSABLE') LOOP

        IF ind_lp.partitioned = 'YES' THEN

	 EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION P'||g_worker_id||' UNUSABLE';
Line: 4570

       FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_MERGE_HELPER'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME
                      AND    status <> 'UNUSABLE') LOOP

        IF ind_lp.partitioned = 'YES' THEN

	 EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION P'||g_worker_id||' UNUSABLE';
Line: 4590

      INSERT /*+ append parallel(helper) */
      INTO pji_merge_helper helper
      (worker_id,
       record_type,
       prg_level,
       project_id,
       project_org_id,
       project_organization_id,
       project_element_id,
       time_id,
       period_type_id,
       calendar_type,
       rbs_aggr_level,
       wbs_rollup_flag,
       prg_rollup_flag,
       curr_record_type_id,
       currency_code,
       rbs_element_id,
       rbs_version_id,
       plan_version_id,
       plan_type_id,
       raw_cost,
       brdn_cost,
       revenue,
       bill_raw_cost,
       bill_brdn_cost,
       bill_labor_raw_cost,
       bill_labor_brdn_cost,
       bill_labor_hrs,
       equipment_raw_cost,
       equipment_brdn_cost,
       capitalizable_raw_cost,
       capitalizable_brdn_cost,
       labor_raw_cost,
       labor_brdn_cost,
       labor_hrs,
       labor_revenue,
       equipment_hours,
       billable_equipment_hours,
       sup_inv_committed_cost,
       po_committed_cost,
       pr_committed_cost,
       oth_committed_cost,
       custom1,
       custom2,
       custom3,
       custom4,
       custom5,
       custom6,
       custom7,
       custom8,
       custom9,
       custom10,
       custom11,
       custom12,
       custom13,
       custom14,
       custom15,
       line_type,
       rate_dangling_flag,
       time_dangling_flag,
       start_date,
       end_date,
       act_labor_hrs,
       act_equip_hrs,
       act_labor_brdn_cost,
       act_equip_brdn_cost,
       act_brdn_cost,
       act_raw_cost,
       act_revenue,
       etc_labor_hrs,
       etc_equip_hrs,
       etc_labor_brdn_cost,
       etc_equip_brdn_cost,
       etc_brdn_cost,
       etc_raw_cost,
       act_labor_raw_cost,
       act_equip_raw_cost,
       etc_labor_raw_cost,
       etc_equip_raw_cost,
       plan_type_code,
       pjp_row_id,
       fact_row_id,
       batch_id)
       SELECT /*+ parallel(pjp1) parallel(fact) use_hash(fact) ordered */
       pjp1.worker_id,
       pjp1.record_type,
       pjp1.prg_level,
       pjp1.project_id,
       pjp1.project_org_id,
       pjp1.project_organization_id,
       pjp1.project_element_id,
       pjp1.time_id,
       pjp1.period_type_id,
       pjp1.calendar_type,
       pjp1.rbs_aggr_level,
       pjp1.wbs_rollup_flag,
       pjp1.prg_rollup_flag,
       pjp1.curr_record_type_id,
       pjp1.currency_code,
       pjp1.rbs_element_id,
       pjp1.rbs_version_id,
       pjp1.plan_version_id,
       pjp1.plan_type_id,
       NVL(fact.raw_cost,0) + NVL(pjp1.raw_cost,0),
       NVL(fact.brdn_cost,0) + NVL(pjp1.brdn_cost,0),
       NVL(fact.revenue,0) + NVL(pjp1.revenue,0),
       NVL(fact.bill_raw_cost,0) + NVL(pjp1.bill_raw_cost,0),
       NVL(fact.bill_brdn_cost,0) + NVL(pjp1.bill_brdn_cost,0),
       NVL(fact.bill_labor_raw_cost,0) + NVL(pjp1.bill_labor_raw_cost,0),
       NVL(fact.bill_labor_brdn_cost,0) + NVL(pjp1.bill_labor_brdn_cost,0),
       NVL(fact.bill_labor_hrs,0) + NVL(pjp1.bill_labor_hrs,0),
       NVL(fact.equipment_raw_cost,0) + NVL(pjp1.equipment_raw_cost,0),
       NVL(fact.equipment_brdn_cost,0) + NVL(pjp1.equipment_brdn_cost,0),
       NVL(fact.capitalizable_raw_cost,0) + NVL(pjp1.capitalizable_raw_cost,0),
       NVL(fact.capitalizable_brdn_cost,0) + NVL(pjp1.capitalizable_brdn_cost,0),
       NVL(fact.labor_raw_cost,0) + NVL(pjp1.labor_raw_cost,0),
       NVL(fact.labor_brdn_cost,0) + NVL(pjp1.labor_brdn_cost,0),
       NVL(fact.labor_hrs,0) + NVL(pjp1.labor_hrs,0),
       NVL(fact.labor_revenue,0) + NVL(pjp1.labor_revenue,0),
       NVL(fact.equipment_hours,0) + NVL(pjp1.equipment_hours,0),
       NVL(fact.billable_equipment_hours,0) + NVL(pjp1.billable_equipment_hours,0),
       NVL(fact.sup_inv_committed_cost,0) + NVL(pjp1.sup_inv_committed_cost,0),
       NVL(fact.po_committed_cost,0) + NVL(pjp1.po_committed_cost,0),
       NVL(fact.pr_committed_cost,0) + NVL(pjp1.pr_committed_cost,0),
       NVL(fact.oth_committed_cost,0) + NVL(pjp1.oth_committed_cost,0),
       NVL(fact.custom1,0) + NVL(pjp1.custom1,0),
       NVL(fact.custom2,0) + NVL(pjp1.custom2,0),
       NVL(fact.custom3,0) + NVL(pjp1.custom3,0),
       NVL(fact.custom4,0) + NVL(pjp1.custom4,0),
       NVL(fact.custom5,0) + NVL(pjp1.custom5,0),
       NVL(fact.custom6,0) + NVL(pjp1.custom6,0),
       NVL(fact.custom7,0) + NVL(pjp1.custom7,0),
       NVL(fact.custom8,0) + NVL(pjp1.custom8,0),
       NVL(fact.custom9,0) + NVL(pjp1.custom9,0),
       NVL(fact.custom10,0) + NVL(pjp1.custom10,0),
       NVL(fact.custom11,0) + NVL(pjp1.custom11,0),
       NVL(fact.custom12,0) + NVL(pjp1.custom12,0),
       NVL(fact.custom13,0) + NVL(pjp1.custom13,0),
       NVL(fact.custom14,0) + NVL(pjp1.custom14,0),
       NVL(fact.custom15,0) + NVL(pjp1.custom15,0),
       pjp1.line_type,
       pjp1.rate_dangling_flag,
       pjp1.time_dangling_flag,
       pjp1.start_date,
       pjp1.end_date,
       NVL(fact.act_labor_hrs,0) + NVL(pjp1.act_labor_hrs,0),
       NVL(fact.act_equip_hrs,0) + NVL(pjp1.act_equip_hrs,0),
       NVL(fact.act_labor_brdn_cost,0) + NVL(pjp1.act_labor_brdn_cost,0),
       NVL(fact.act_equip_brdn_cost,0) + NVL(pjp1.act_equip_brdn_cost,0),
       NVL(fact.act_brdn_cost,0) + NVL(pjp1.act_brdn_cost,0),
       NVL(fact.act_raw_cost,0) + NVL(pjp1.act_raw_cost,0),
       NVL(fact.act_revenue,0) + NVL(pjp1.act_revenue,0),
       NVL(fact.etc_labor_hrs,0) + NVL(pjp1.etc_labor_hrs,0),
       NVL(fact.etc_equip_hrs,0) + NVL(pjp1.etc_equip_hrs,0),
       NVL(fact.etc_labor_brdn_cost,0) + NVL(pjp1.etc_labor_brdn_cost,0),
       NVL(fact.etc_equip_brdn_cost,0) + NVL(pjp1.etc_equip_brdn_cost,0),
       NVL(fact.etc_brdn_cost,0) + NVL(pjp1.etc_brdn_cost,0),
       NVL(fact.etc_raw_cost,0) + NVL(pjp1.etc_raw_cost,0),
       NVL(fact.act_labor_raw_cost,0) + NVL(pjp1.act_labor_raw_cost,0),
       NVL(fact.act_equip_raw_cost,0) + NVL(pjp1.act_equip_raw_cost,0),
       NVL(fact.etc_labor_raw_cost,0) + NVL(pjp1.etc_labor_raw_cost,0),
       NVL(fact.etc_equip_raw_cost,0) + NVL(pjp1.etc_equip_raw_cost,0),
       pjp1.plan_type_code,
       pjp1.pjp_row_id,
       fact.rowid,
       ceil(ROWNUM / l_batch_size) batch_id
       FROM
           (  SELECT  /*+ leading(VER3) parallel(VER3) parallel(TMP) use_hash(TMP) */  -- Added hints for bug 13897252
                       tmp.worker_id
                     , tmp.PROJECT_ID
                     , tmp.PROJECT_ORG_ID
                     , tmp.PROJECT_ORGANIZATION_ID
                     , tmp.PROJECT_ELEMENT_ID
                     , tmp.TIME_ID
                     , tmp.PERIOD_TYPE_ID
                     , tmp.CALENDAR_TYPE
                     , tmp.RBS_AGGR_LEVEL
                     , tmp.WBS_ROLLUP_FLAG
                     , tmp.PRG_ROLLUP_FLAG
                     , tmp.CURR_RECORD_TYPE_ID
                     , tmp.CURRENCY_CODE
                     , tmp.RBS_ELEMENT_ID
                     , tmp.RBS_VERSION_ID
                     , ver3.PLAN_VERSION_ID
                     , tmp.PLAN_TYPE_ID
                     , tmp.RAW_COST
                     , tmp.BRDN_COST
                     , tmp.REVENUE
                     , tmp.BILL_RAW_COST
                     , tmp.BILL_BRDN_COST
                     , tmp.BILL_LABOR_RAW_COST
                     , tmp.BILL_LABOR_BRDN_COST
                     , tmp.BILL_LABOR_HRS
                     , tmp.EQUIPMENT_RAW_COST
                     , tmp.EQUIPMENT_BRDN_COST
                     , tmp.CAPITALIZABLE_RAW_COST
                     , tmp.CAPITALIZABLE_BRDN_COST
                     , tmp.LABOR_RAW_COST
                     , tmp.LABOR_BRDN_COST
                     , tmp.LABOR_HRS
                     , tmp.LABOR_REVENUE
                     , tmp.EQUIPMENT_HOURS
                     , tmp.BILLABLE_EQUIPMENT_HOURS
                     , tmp.SUP_INV_COMMITTED_COST
                     , tmp.PO_COMMITTED_COST
                     , tmp.PR_COMMITTED_COST
                     , tmp.OTH_COMMITTED_COST
                     , tmp.ACT_LABOR_HRS
                     , tmp.ACT_EQUIP_HRS
                     , tmp.ACT_LABOR_BRDN_COST
                     , tmp.ACT_EQUIP_BRDN_COST
                     , tmp.ACT_BRDN_COST
                     , tmp.ACT_RAW_COST
                     , tmp.ACT_REVENUE
                     , tmp.ACT_LABOR_RAW_COST
                     , tmp.ACT_EQUIP_RAW_COST
                     , DECODE ( ver3.wp_flag
                              , 'Y'
                              , DECODE(TO_CHAR(tmp.ETC_LABOR_HRS)  -- For Workplan
                              , NULL
                              , NVL(tmp.labor_hrs, 0)
                              , NVL(tmp.ETC_LABOR_HRS, 0)
                                               )
                             , NVL(tmp.ETC_LABOR_HRS, 0)
                             ) ETC_LABOR_HRS
                     , DECODE ( ver3.wp_flag
                              , 'Y'
                              , DECODE(TO_CHAR(tmp.ETC_EQUIP_HRS)
                              , NULL
                              , NVL(tmp.EQUIPMENT_hours, 0)
                              , NVL(tmp.ETC_EQUIP_HRS, 0)
                                      )
                            , NVL(tmp.ETC_EQUIP_HRS, 0)
                            ) ETC_EQUIP_HRS
                     , DECODE ( ver3.wp_flag
                              , 'Y'
                              , DECODE(TO_CHAR(tmp.ETC_LABOR_BRDN_COST)
                              , NULL
                              , NVL(tmp.labor_BRDN_COST, 0)
                              , NVL(tmp.ETC_LABOR_BRDN_COST, 0)
                              )
                             , NVL(tmp.ETC_LABOR_BRDN_COST, 0)
                             ) ETC_LABOR_BRDN_COST
                     , DECODE ( ver3.wp_flag
                              , 'Y'
                              , DECODE(TO_CHAR(tmp.ETC_EQUIP_BRDN_COST)
                              , NULL
                              , NVL(tmp.EQUIPment_BRDN_COST, 0)
                              , NVL(tmp.ETC_equip_BRDN_COST, 0)
                              )
                             , NVL(tmp.ETC_EQUIP_BRDN_COST, 0)
                             ) ETC_equip_BRDN_COST
                     , DECODE ( ver3.wp_flag
                              , 'Y'
                              , DECODE(TO_CHAR(tmp.ETC_BRDN_COST)
                              , NULL
                              , NVL(tmp.BRDN_COST, 0)
                              , NVL(tmp.ETC_BRDN_COST, 0)
                              )
                             , NVL(tmp.ETC_BRDN_COST, 0)
                             ) ETC_BRDN_COST
                     , DECODE ( ver3.wp_flag
                              , 'Y'
                              , DECODE(TO_CHAR(tmp.ETC_raw_COST)
                              , NULL
                              , NVL(tmp.raw_COST, 0)
                              , NVL(tmp.ETC_raw_COST, 0)
                              )
                             , NVL(tmp.ETC_raw_COST, 0)
                             ) ETC_raw_COST
                     , DECODE ( ver3.wp_flag
                              , 'Y'
                              , DECODE(TO_CHAR(tmp.ETC_labor_raw_COST)
                              , NULL
                              , NVL(tmp.labor_raw_COST, 0)
                              , NVL(tmp.ETC_labor_raw_COST, 0)
                              )
                             , NVL(tmp.ETC_labor_raw_COST, 0)
                             ) ETC_labor_raw_COST
                     , DECODE ( ver3.wp_flag
                              , 'Y'
                              , DECODE(TO_CHAR(tmp.ETC_equip_raw_COST)
                              , NULL
                              , NVL(tmp.equipment_raw_COST, 0)
                              ,  NVL(tmp.ETC_equip_raw_COST, 0)
                              )
                             , NVL(tmp.ETC_equip_raw_COST, 0)
                             ) ETC_equip_raw_COST
                     , tmp.CUSTOM1
                     , tmp.CUSTOM2
                     , tmp.CUSTOM3
                     , tmp.CUSTOM4
                     , tmp.CUSTOM5
                     , tmp.CUSTOM6
                     , tmp.CUSTOM7
                     , tmp.CUSTOM8
                     , tmp.CUSTOM9
                     , tmp.CUSTOM10
                     , tmp.CUSTOM11
                     , tmp.CUSTOM12
                     , tmp.CUSTOM13
                     , tmp.CUSTOM14
                     , tmp.CUSTOM15
                     , tmp.PLAN_TYPE_CODE
                     , tmp.line_type
                     , tmp.rate_dangling_flag
                     , tmp.time_dangling_flag
                     , tmp.start_date
                     , tmp.end_date
                     , tmp.prg_level
                     , tmp.record_type
                     , tmp.rowid        pjp_row_id
              FROM  pji_fp_aggr_pjp2      tmp
                  , pji_pjp_wbs_header    ver3  -- replaced ver3 with wbs header for project-to-program association event.
              WHERE  1 = 1
              AND tmp.worker_id            = g_worker_id
              AND tmp.project_id           = ver3.project_id
              AND ver3.plan_version_id     = tmp.plan_version_id
              AND NVL(tmp.plan_type_id,-1) = NVL(ver3.plan_type_id, -1) -- each plan type can have a different -3, -4 slice.
              AND ver3.plan_type_code      = tmp.plan_type_code
              AND tmp.RATE_DANGLING_FLAG IS NULL
              AND tmp.TIME_DANGLING_FLAG IS NULL )  pjp1
            , pji_fp_xbs_accum_f fact
      WHERE pjp1.project_id              = fact.project_id(+)
      AND pjp1.plan_version_id         = fact.plan_version_id(+)
      AND pjp1.project_element_id      = fact.project_element_id(+)
      AND pjp1.time_id                 = fact.time_id(+)
      AND pjp1.rbs_version_id          = fact.rbs_version_id(+)
      AND pjp1.plan_type_id            = fact.plan_type_id(+)
      AND pjp1.plan_type_code          = fact.plan_type_code(+)
      AND pjp1.project_org_id          = fact.project_org_id(+)
      AND pjp1.project_organization_id = fact.project_organization_id(+)
      AND pjp1.period_type_id          = fact.period_type_id(+)
      AND pjp1.calendar_type           = fact.calendar_type(+)
      AND pjp1.rbs_aggr_level          = fact.rbs_aggr_level(+)
      AND pjp1.wbs_rollup_flag         = fact.wbs_rollup_flag(+)
      AND pjp1.prg_rollup_flag         = fact.prg_rollup_flag(+)
      AND pjp1.curr_record_type_id     = fact.curr_record_type_id(+)
      AND pjp1.currency_code           = fact.currency_code(+)
      AND pjp1.rbs_element_id          = fact.rbs_element_id(+);
Line: 4944

           DELETE /*+ rowid(fact) parallel(fact) */
           FROM   pji_fp_xbs_accum_f fact
           WHERE  EXISTS (SELECT /*+ parallel(pmh) use_hash(pmh)*/
                                NULL
                          FROM   pji_merge_helper pmh
                          WHERE  fact.rowid = pmh.fact_row_id
		          AND    pmh.worker_id = g_worker_id);
Line: 4954

       /* Insert from merge helper to fact*/
       INSERT_INTO_FP_FACT1;
Line: 4960

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_FP_XBS_ACCUM_F'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP

      IF ind_lp.partitioned = 'YES' THEN
       EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
Line: 4975

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_FP_AGGR_PJP2'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP

        IF ind_lp.partitioned = 'YES' THEN
         EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
Line: 4989

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_MERGE_HELPER'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP

        IF ind_lp.partitioned = 'YES' THEN
         EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
Line: 5005

  SELECT /*+parallel(pjp1) */
       TRUNC(ROWNUM/l_batch_size)
     , MIN(rowid)
     , MAX(rowid)
  BULK COLLECT
  INTO l_pji_rowid_tab
  FROM  (SELECT /*+parallel(pji_fp_aggr_pjp2) rowid(pji_fp_aggr_pjp2) */ rowid
         FROM   pji_fp_aggr_pjp2
         WHERE  worker_id = g_worker_id
         ORDER BY ROWID) pjp1
  GROUP BY TRUNC(ROWNUM/l_batch_size)
  ORDER BY 2;
Line: 5023

  USING (  SELECT
       tmp.worker_id
     , tmp.PROJECT_ID
     , tmp.PROJECT_ORG_ID
     , tmp.PROJECT_ORGANIZATION_ID
     , tmp.PROJECT_ELEMENT_ID
     , tmp.TIME_ID
     , tmp.PERIOD_TYPE_ID
     , tmp.CALENDAR_TYPE
     , tmp.RBS_AGGR_LEVEL
     , tmp.WBS_ROLLUP_FLAG
     , tmp.PRG_ROLLUP_FLAG
     , tmp.CURR_RECORD_TYPE_ID
     , tmp.CURRENCY_CODE
     , tmp.RBS_ELEMENT_ID
     , tmp.RBS_VERSION_ID
     , ver3.PLAN_VERSION_ID
     , tmp.PLAN_TYPE_ID
     , tmp.RAW_COST
     , tmp.BRDN_COST
     , tmp.REVENUE
     , tmp.BILL_RAW_COST
     , tmp.BILL_BRDN_COST
     , tmp.BILL_LABOR_RAW_COST
     , tmp.BILL_LABOR_BRDN_COST
     , tmp.BILL_LABOR_HRS
     , tmp.EQUIPMENT_RAW_COST
     , tmp.EQUIPMENT_BRDN_COST
     , tmp.CAPITALIZABLE_RAW_COST
     , tmp.CAPITALIZABLE_BRDN_COST
     , tmp.LABOR_RAW_COST
     , tmp.LABOR_BRDN_COST
     , tmp.LABOR_HRS
     , tmp.LABOR_REVENUE
     , tmp.EQUIPMENT_HOURS
     , tmp.BILLABLE_EQUIPMENT_HOURS
     , tmp.SUP_INV_COMMITTED_COST
     , tmp.PO_COMMITTED_COST
     , tmp.PR_COMMITTED_COST
     , tmp.OTH_COMMITTED_COST
     , tmp.ACT_LABOR_HRS
     , tmp.ACT_EQUIP_HRS
     , tmp.ACT_LABOR_BRDN_COST
     , tmp.ACT_EQUIP_BRDN_COST
     , tmp.ACT_BRDN_COST
     , tmp.ACT_RAW_COST
     , tmp.ACT_REVENUE
     , tmp.ACT_LABOR_RAW_COST
     , tmp.ACT_EQUIP_RAW_COST
     , DECODE ( ver3.wp_flag
                    , 'Y'
                    , DECODE(TO_CHAR(tmp.ETC_LABOR_HRS)  -- For Workplan
                           , NULL
                           , NVL(tmp.labor_hrs, 0)
                           , NVL(tmp.ETC_LABOR_HRS, 0)
                            )
                    , NVL(tmp.ETC_LABOR_HRS, 0)
             ) ETC_LABOR_HRS
       , DECODE ( ver3.wp_flag
                        , 'Y'
                        , DECODE(TO_CHAR(tmp.ETC_EQUIP_HRS)
                               , NULL
                               , NVL(tmp.EQUIPMENT_hours, 0)
                               , NVL(tmp.ETC_EQUIP_HRS, 0)
                      )
                 , NVL(tmp.ETC_EQUIP_HRS, 0)
              ) ETC_EQUIP_HRS
       , DECODE ( ver3.wp_flag
                    , 'Y'
                    , DECODE(TO_CHAR(tmp.ETC_LABOR_BRDN_COST)
                           , NULL
                           , NVL(tmp.labor_BRDN_COST, 0)
                           , NVL(tmp.ETC_LABOR_BRDN_COST, 0)
                   )
                   , NVL(tmp.ETC_LABOR_BRDN_COST, 0)
             ) ETC_LABOR_BRDN_COST
       , DECODE ( ver3.wp_flag
                    , 'Y'
                    , DECODE(TO_CHAR(tmp.ETC_EQUIP_BRDN_COST)
                           , NULL
                           , NVL(tmp.EQUIPment_BRDN_COST, 0)
                           , NVL(tmp.ETC_equip_BRDN_COST, 0)
                    )
                    , NVL(tmp.ETC_EQUIP_BRDN_COST, 0)
                ) ETC_equip_BRDN_COST
       , DECODE ( ver3.wp_flag
                    , 'Y'
                    , DECODE(TO_CHAR(tmp.ETC_BRDN_COST)
                           , NULL
                           , NVL(tmp.BRDN_COST, 0)
                           , NVL(tmp.ETC_BRDN_COST, 0)
                    )
                  , NVL(tmp.ETC_BRDN_COST, 0)
                ) ETC_BRDN_COST
       , DECODE ( ver3.wp_flag
                   , 'Y'
                   , DECODE(TO_CHAR(tmp.ETC_raw_COST)
                          , NULL
                          , NVL(tmp.raw_COST, 0)
                          , NVL(tmp.ETC_raw_COST, 0)
                   )
                 , NVL(tmp.ETC_raw_COST, 0)
                ) ETC_raw_COST
       , DECODE ( ver3.wp_flag
                    , 'Y'
                    , DECODE(TO_CHAR(tmp.ETC_labor_raw_COST)
                           , NULL
                           , NVL(tmp.labor_raw_COST, 0)
                           , NVL(tmp.ETC_labor_raw_COST, 0)
                    )
                  , NVL(tmp.ETC_labor_raw_COST, 0)
                ) ETC_labor_raw_COST
       , DECODE ( ver3.wp_flag
                    , 'Y'
                    , DECODE(TO_CHAR(tmp.ETC_equip_raw_COST)
                           , NULL
                           , NVL(tmp.equipment_raw_COST, 0)
                           ,  NVL(tmp.ETC_equip_raw_COST, 0)
                    )
                  , NVL(tmp.ETC_equip_raw_COST, 0)
              ) ETC_equip_raw_COST
     , tmp.CUSTOM1
     , tmp.CUSTOM2
     , tmp.CUSTOM3
     , tmp.CUSTOM4
     , tmp.CUSTOM5
     , tmp.CUSTOM6
     , tmp.CUSTOM7
     , tmp.CUSTOM8
     , tmp.CUSTOM9
     , tmp.CUSTOM10
     , tmp.CUSTOM11
     , tmp.CUSTOM12
     , tmp.CUSTOM13
     , tmp.CUSTOM14
     , tmp.CUSTOM15
     , tmp.PLAN_TYPE_CODE
     FROM  pji_fp_aggr_pjp2      tmp
         , pji_pjp_wbs_header    ver3  -- replaced ver3 with wbs header for project-to-program association event.
     WHERE  1 = 1
       AND tmp.worker_id            = g_worker_id
       AND tmp.project_id           = ver3.project_id
       AND ver3.plan_version_id     = tmp.plan_version_id
       AND NVL(tmp.plan_type_id,-1) = NVL(ver3.plan_type_id, -1) -- each plan type can have a different -3, -4 slice.
       AND ver3.plan_type_code      = tmp.plan_type_code
       AND tmp.rowid BETWEEN l_pji_rowid_tab(i).start_rowid AND l_pji_rowid_tab(i).end_rowid
       AND tmp.RATE_DANGLING_FLAG IS NULL
       AND tmp.TIME_DANGLING_FLAG IS NULL
      )  pjp1
ON    (pjp1.WORKER_ID               = g_worker_id
   AND pjp1.PROJECT_ID              = fact.PROJECT_ID
   AND pjp1.PLAN_VERSION_ID         = fact.PLAN_VERSION_ID
   AND pjp1.PLAN_TYPE_ID            = fact.PLAN_TYPE_ID
   AND pjp1.PLAN_TYPE_CODE          = fact.PLAN_TYPE_CODE
   AND pjp1.PROJECT_ORG_ID          = fact.PROJECT_ORG_ID
   AND pjp1.PROJECT_ORGANIZATION_ID = fact.PROJECT_ORGANIZATION_ID
   AND pjp1.PROJECT_ELEMENT_ID      = fact.PROJECT_ELEMENT_ID
   AND pjp1.TIME_ID                 = fact.TIME_ID
   AND pjp1.PERIOD_TYPE_ID          = fact.PERIOD_TYPE_ID
   AND pjp1.CALENDAR_TYPE           = fact.CALENDAR_TYPE
   AND pjp1.RBS_AGGR_LEVEL          = fact.RBS_AGGR_LEVEL
   AND pjp1.WBS_ROLLUP_FLAG         = fact.WBS_ROLLUP_FLAG
   AND pjp1.PRG_ROLLUP_FLAG         = fact.PRG_ROLLUP_FLAG
   AND pjp1.CURR_RECORD_TYPE_ID     = fact.CURR_RECORD_TYPE_ID
   AND pjp1.CURRENCY_CODE           = fact.CURRENCY_CODE
   AND pjp1.RBS_ELEMENT_ID          = fact.RBS_ELEMENT_ID
   AND pjp1.RBS_VERSION_ID          = fact.RBS_VERSION_ID)
WHEN MATCHED THEN
UPDATE
SET      fact.RAW_COST                 = NVL(fact.RAW_COST, 0) + NVL(pjp1.RAW_COST, 0)
       , fact.BRDN_COST                = NVL(fact.BRDN_COST, 0) + NVL(pjp1.BRDN_COST, 0)
       , fact.REVENUE                  = NVL(fact.REVENUE, 0) + NVL(pjp1.REVENUE, 0)
       , fact.BILL_RAW_COST            = NVL(fact.BILL_RAW_COST, 0) + NVL(pjp1.BILL_RAW_COST, 0)
       , fact.BILL_BRDN_COST           = NVL(fact.BILL_BRDN_COST, 0) + NVL(pjp1.BILL_BRDN_COST, 0)
       , fact.BILL_LABOR_RAW_COST      = NVL(fact.BILL_LABOR_RAW_COST, 0) + NVL(pjp1.BILL_LABOR_RAW_COST, 0)
       , fact.BILL_LABOR_BRDN_COST     = NVL(fact.BILL_LABOR_BRDN_COST, 0) + NVL(pjp1.BILL_LABOR_BRDN_COST, 0)
       , fact.BILL_LABOR_HRS           = NVL(fact.BILL_LABOR_HRS, 0) + NVL(pjp1.BILL_LABOR_HRS, 0)
       , fact.EQUIPMENT_RAW_COST       = NVL(fact.EQUIPMENT_RAW_COST, 0) + NVL(pjp1.EQUIPMENT_RAW_COST, 0)
       , fact.EQUIPMENT_BRDN_COST      = NVL(fact.EQUIPMENT_BRDN_COST, 0) + NVL(pjp1.EQUIPMENT_BRDN_COST, 0)
       , fact.CAPITALIZABLE_RAW_COST   = NVL(fact.CAPITALIZABLE_RAW_COST, 0) + NVL(pjp1.CAPITALIZABLE_RAW_COST, 0)
       , fact.CAPITALIZABLE_BRDN_COST  = NVL(fact.CAPITALIZABLE_BRDN_COST, 0) + NVL(pjp1.CAPITALIZABLE_BRDN_COST, 0)
       , fact.LABOR_RAW_COST           = NVL(fact.LABOR_RAW_COST, 0) + NVL(pjp1.LABOR_RAW_COST, 0)
       , fact.LABOR_BRDN_COST          = NVL(fact.LABOR_BRDN_COST, 0) + NVL(pjp1.LABOR_BRDN_COST, 0)
       , fact.LABOR_HRS                = NVL(fact.LABOR_HRS, 0) + NVL(pjp1.LABOR_HRS, 0)
       , fact.LABOR_REVENUE            = NVL(fact.LABOR_REVENUE, 0) + NVL(pjp1.LABOR_REVENUE, 0)
       , fact.EQUIPMENT_HOURS          = NVL(fact.EQUIPMENT_HOURS, 0) + NVL(pjp1.EQUIPMENT_HOURS, 0)
       , fact.BILLABLE_EQUIPMENT_HOURS = NVL(fact.BILLABLE_EQUIPMENT_HOURS, 0) + NVL(pjp1.BILLABLE_EQUIPMENT_HOURS, 0)
       , fact.SUP_INV_COMMITTED_COST   = NVL(fact.SUP_INV_COMMITTED_COST, 0) + NVL(pjp1.SUP_INV_COMMITTED_COST, 0)
       , fact.PO_COMMITTED_COST        = NVL(fact.PO_COMMITTED_COST, 0) + NVL(pjp1.PO_COMMITTED_COST, 0)
       , fact.PR_COMMITTED_COST        = NVL(fact.PR_COMMITTED_COST, 0) + NVL(pjp1.PR_COMMITTED_COST, 0)
       , fact.OTH_COMMITTED_COST       = NVL(fact.OTH_COMMITTED_COST, 0) + NVL(pjp1.OTH_COMMITTED_COST, 0)
       , fact.ACT_LABOR_HRS            = NVL(fact.ACT_LABOR_HRS, 0) + NVL(pjp1.ACT_LABOR_HRS, 0)
       , fact.ACT_EQUIP_HRS            = NVL(fact.ACT_EQUIP_HRS, 0) + NVL(pjp1.ACT_EQUIP_HRS, 0)
       , fact.ACT_LABOR_BRDN_COST      = NVL(fact.ACT_LABOR_BRDN_COST, 0) + NVL(pjp1.ACT_LABOR_BRDN_COST, 0)
       , fact.ACT_EQUIP_BRDN_COST      = NVL(fact.ACT_EQUIP_BRDN_COST, 0) + NVL(pjp1.ACT_EQUIP_BRDN_COST, 0)
       , fact.ACT_BRDN_COST            = NVL(fact.ACT_BRDN_COST, 0) + NVL(pjp1.ACT_BRDN_COST, 0)
       , fact.ACT_RAW_COST             = NVL(fact.ACT_RAW_COST, 0) + NVL(pjp1.ACT_RAW_COST, 0)
       , fact.ACT_REVENUE              = NVL(fact.ACT_REVENUE, 0) + NVL(pjp1.ACT_REVENUE, 0)
       , fact.ACT_LABOR_RAW_COST       = NVL(fact.ACT_LABOR_RAW_COST, 0) + NVL(pjp1.ACT_LABOR_RAW_COST, 0)
       , fact.ACT_EQUIP_RAW_COST       = NVL(fact.ACT_EQUIP_RAW_COST, 0) + NVL(pjp1.ACT_EQUIP_RAW_COST, 0)
       , fact.ETC_LABOR_HRS            = NVL(fact.ETC_LABOR_HRS, 0) + NVL(pjp1.ETC_LABOR_HRS, 0)
       , fact.ETC_EQUIP_HRS            = NVL(fact.ETC_EQUIP_HRS, 0) + NVL(pjp1.ETC_EQUIP_HRS, 0)
       , fact.ETC_LABOR_BRDN_COST      = NVL(fact.ETC_LABOR_BRDN_COST, 0) + NVL(pjp1.ETC_LABOR_BRDN_COST, 0)
       , fact.ETC_EQUIP_BRDN_COST      = NVL(fact.ETC_EQUIP_BRDN_COST, 0) + NVL(pjp1.ETC_EQUIP_BRDN_COST, 0)
       , fact.ETC_BRDN_COST            = NVL(fact.ETC_BRDN_COST, 0) + NVL(pjp1.ETC_BRDN_COST, 0)
       , fact.ETC_RAW_COST             = NVL(fact.ETC_RAW_COST, 0) + NVL(pjp1.ETC_RAW_COST, 0)
       , fact.ETC_LABOR_RAW_COST       = NVL(fact.ETC_LABOR_RAW_COST, 0) + NVL(pjp1.ETC_LABOR_RAW_COST, 0)
       , fact.ETC_EQUIP_RAW_COST       = NVL(fact.ETC_EQUIP_RAW_COST, 0) + NVL(pjp1.ETC_EQUIP_RAW_COST, 0)
       , fact.CUSTOM1                  = NVL(fact.CUSTOM1, 0)  + NVL(pjp1.CUSTOM1, 0)
       , fact.CUSTOM2                  = NVL(fact.CUSTOM2, 0)  + NVL(pjp1.CUSTOM2, 0)
       , fact.CUSTOM3                  = NVL(fact.CUSTOM3, 0)  + NVL(pjp1.CUSTOM3, 0)
       , fact.CUSTOM4                  = NVL(fact.CUSTOM4, 0)  + NVL(pjp1.CUSTOM4, 0)
       , fact.CUSTOM5                  = NVL(fact.CUSTOM5, 0)  + NVL(pjp1.CUSTOM5, 0)
       , fact.CUSTOM6                  = NVL(fact.CUSTOM6, 0)  + NVL(pjp1.CUSTOM6, 0)
       , fact.CUSTOM7                  = NVL(fact.CUSTOM7, 0)  + NVL(pjp1.CUSTOM7, 0)
       , fact.CUSTOM8                  = NVL(fact.CUSTOM8, 0)  + NVL(pjp1.CUSTOM8, 0)
       , fact.CUSTOM9                  = NVL(fact.CUSTOM9, 0)  + NVL(pjp1.CUSTOM9, 0)
       , fact.CUSTOM10                 = NVL(fact.CUSTOM10, 0) + NVL(pjp1.CUSTOM10, 0)
       , fact.CUSTOM11                 = NVL(fact.CUSTOM11, 0) + NVL(pjp1.CUSTOM11, 0)
       , fact.CUSTOM12                 = NVL(fact.CUSTOM12, 0) + NVL(pjp1.CUSTOM12, 0)
       , fact.CUSTOM13                 = NVL(fact.CUSTOM13, 0) + NVL(pjp1.CUSTOM13, 0)
       , fact.CUSTOM14                 = NVL(fact.CUSTOM14, 0) + NVL(pjp1.CUSTOM14, 0)
       , fact.CUSTOM15                 = NVL(fact.CUSTOM15, 0) + NVL(pjp1.CUSTOM15, 0)
       , fact.last_update_date         = SYSDATE
       , fact.last_updated_by          = l_last_updated_by
       , fact.last_update_login        = l_last_update_login
WHEN NOT MATCHED THEN
INSERT (
       fact.PROJECT_ID
     , fact.PROJECT_ORG_ID
     , fact.PROJECT_ORGANIZATION_ID
     , fact.PROJECT_ELEMENT_ID
     , fact.TIME_ID
     , fact.PERIOD_TYPE_ID
     , fact.CALENDAR_TYPE
     , fact.RBS_AGGR_LEVEL
     , fact.WBS_ROLLUP_FLAG
     , fact.PRG_ROLLUP_FLAG
     , fact.CURR_RECORD_TYPE_ID
     , fact.CURRENCY_CODE
     , fact.RBS_ELEMENT_ID
     , fact.RBS_VERSION_ID
     , fact.PLAN_VERSION_ID
     , fact.PLAN_TYPE_ID
     , fact.LAST_UPDATE_DATE
     , fact.LAST_UPDATED_BY
     , fact.CREATION_DATE
     , fact.CREATED_BY
     , fact.LAST_UPDATE_LOGIN
     , fact.RAW_COST
     , fact.BRDN_COST
     , fact.REVENUE
     , fact.BILL_RAW_COST
     , fact.BILL_BRDN_COST
     , fact.BILL_LABOR_RAW_COST
     , fact.BILL_LABOR_BRDN_COST
     , fact.BILL_LABOR_HRS
     , fact.EQUIPMENT_RAW_COST
     , fact.EQUIPMENT_BRDN_COST
     , fact.CAPITALIZABLE_RAW_COST
     , fact.CAPITALIZABLE_BRDN_COST
     , fact.LABOR_RAW_COST
     , fact.LABOR_BRDN_COST
     , fact.LABOR_HRS
     , fact.LABOR_REVENUE
     , fact.EQUIPMENT_HOURS
     , fact.BILLABLE_EQUIPMENT_HOURS
     , fact.SUP_INV_COMMITTED_COST
     , fact.PO_COMMITTED_COST
     , fact.PR_COMMITTED_COST
     , fact.OTH_COMMITTED_COST
     , fact.ACT_LABOR_HRS
     , fact.ACT_EQUIP_HRS
     , fact.ACT_LABOR_BRDN_COST
     , fact.ACT_EQUIP_BRDN_COST
     , fact.ACT_BRDN_COST
     , fact.ACT_RAW_COST
     , fact.ACT_REVENUE
     , fact.ACT_LABOR_RAW_COST
     , fact.ACT_EQUIP_RAW_COST
     , fact.ETC_LABOR_HRS
     , fact.ETC_EQUIP_HRS
     , fact.ETC_LABOR_BRDN_COST
     , fact.ETC_EQUIP_BRDN_COST
     , fact.ETC_BRDN_COST
     , fact.ETC_RAW_COST
     , fact.ETC_LABOR_RAW_COST
     , fact.ETC_EQUIP_RAW_COST
     , fact.CUSTOM1
     , fact.CUSTOM2
     , fact.CUSTOM3
     , fact.CUSTOM4
     , fact.CUSTOM5
     , fact.CUSTOM6
     , fact.CUSTOM7
     , fact.CUSTOM8
     , fact.CUSTOM9
     , fact.CUSTOM10
     , fact.CUSTOM11
     , fact.CUSTOM12
     , fact.CUSTOM13
     , fact.CUSTOM14
     , fact.CUSTOM15
     , fact.PLAN_TYPE_CODE
  )
VALUES (
       pjp1.PROJECT_ID
     , pjp1.PROJECT_ORG_ID
     , pjp1.PROJECT_ORGANIZATION_ID
     , pjp1.PROJECT_ELEMENT_ID
     , pjp1.TIME_ID
     , pjp1.PERIOD_TYPE_ID
     , pjp1.CALENDAR_TYPE
     , pjp1.RBS_AGGR_LEVEL
     , pjp1.WBS_ROLLUP_FLAG
     , pjp1.PRG_ROLLUP_FLAG
     , pjp1.CURR_RECORD_TYPE_ID
     , pjp1.CURRENCY_CODE
     , pjp1.RBS_ELEMENT_ID
     , pjp1.RBS_VERSION_ID
     , pjp1.PLAN_VERSION_ID
     , pjp1.PLAN_TYPE_ID
     , sysdate
     , l_last_updated_by
     , sysdate
     , l_created_by
     , l_last_update_login
     , pjp1.RAW_COST
     , pjp1.BRDN_COST
     , pjp1.REVENUE
     , pjp1.BILL_RAW_COST
     , pjp1.BILL_BRDN_COST
     , pjp1.BILL_LABOR_RAW_COST
     , pjp1.BILL_LABOR_BRDN_COST
     , pjp1.BILL_LABOR_HRS
     , pjp1.EQUIPMENT_RAW_COST
     , pjp1.EQUIPMENT_BRDN_COST
     , pjp1.CAPITALIZABLE_RAW_COST
     , pjp1.CAPITALIZABLE_BRDN_COST
     , pjp1.LABOR_RAW_COST
     , pjp1.LABOR_BRDN_COST
     , pjp1.LABOR_HRS
     , pjp1.LABOR_REVENUE
     , pjp1.EQUIPMENT_HOURS
     , pjp1.BILLABLE_EQUIPMENT_HOURS
     , pjp1.SUP_INV_COMMITTED_COST
     , pjp1.PO_COMMITTED_COST
     , pjp1.PR_COMMITTED_COST
     , pjp1.OTH_COMMITTED_COST
     , pjp1.ACT_LABOR_HRS
     , pjp1.ACT_EQUIP_HRS
     , pjp1.ACT_LABOR_BRDN_COST
     , pjp1.ACT_EQUIP_BRDN_COST
     , pjp1.ACT_BRDN_COST
     , pjp1.ACT_RAW_COST
     , pjp1.ACT_REVENUE
     , pjp1.ACT_LABOR_RAW_COST
     , pjp1.ACT_EQUIP_RAW_COST
     , pjp1.ETC_LABOR_HRS
     , pjp1.ETC_EQUIP_HRS
     , pjp1.ETC_LABOR_BRDN_COST
     , pjp1.ETC_equip_BRDN_COST
     , pjp1.ETC_BRDN_COST
     , pjp1.ETC_RAW_COST
     , pjp1.ETC_LABOR_RAW_COST
     , pjp1.ETC_EQUIP_RAW_COST
     , pjp1.CUSTOM1
     , pjp1.CUSTOM2
     , pjp1.CUSTOM3
     , pjp1.CUSTOM4
     , pjp1.CUSTOM5
     , pjp1.CUSTOM6
     , pjp1.CUSTOM7
     , pjp1.CUSTOM8
     , pjp1.CUSTOM9
     , pjp1.CUSTOM10
     , pjp1.CUSTOM11
     , pjp1.CUSTOM12
     , pjp1.CUSTOM13
     , pjp1.CUSTOM14
     , pjp1.CUSTOM15
     , pjp1.PLAN_TYPE_CODE
       );
Line: 5407

   DELETE /*+ parallel(pjp1) */
   FROM   pji_fp_aggr_pjp2 pjp1
   WHERE  pjp1.worker_id = g_worker_id
   AND    pjp1.rowid BETWEEN l_pji_rowid_tab(i).start_rowid
                         AND l_pji_rowid_tab(i).end_rowid;
Line: 5431

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_FP_XBS_ACCUM_F'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP

        IF ind_lp.partitioned = 'YES' THEN
         EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
Line: 5445

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_FP_AGGR_PJP2'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP

        IF ind_lp.partitioned = 'YES' THEN
         EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
Line: 5459

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_MERGE_HELPER'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP

        IF ind_lp.partitioned = 'YES' THEN
         EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
Line: 5475

PROCEDURE UPDATE_BATCH_CONC_STATUS IS
l_rowcount number := 0;
Line: 5483

SELECT * FROM pji_merge_batch_status
WHERE  request_status = 'RUNNING';
Line: 5488

l_Batch_t.delete;
Line: 5516

         update pji_merge_batch_status
         set request_status = l_Batch_t(i).request_status
         where request_id = l_Batch_t(i).request_id;
Line: 5525

end UPDATE_BATCH_CONC_STATUS;
Line: 5533

  SELECT /*+ parallel(prv) */ prv.RBS_VERSION_ID
  FROM pa_rbs_versions_b prv
  WHERE 1=1
    AND prv.CURRENT_REPORTING_FLAG = 'Y'
    AND prv.STATUS_CODE            = 'FROZEN';
Line: 5540

  SELECT /*+ parallel(bv) */ bv.budget_version_id, bv.project_id
  FROM pa_budget_versions bv
     , pa_proj_fp_options fpo
  WHERE 1=1
    AND bv.budget_version_id = fpo.fin_plan_version_id
    AND bv.fin_plan_type_id = fpo.fin_plan_type_id
    AND fpo.project_id = bv.project_id
    AND bv.version_type is not NULL
    AND bv.fin_plan_type_id is not NULL
    AND fpo.fin_plan_option_level_code = 'PLAN_VERSION'
    AND bv.version_type IN ( 'ALL' , 'COST' , 'REVENUE')
    AND fpo.RBS_VERSION_ID = l_rbs_version_id;
Line: 5564

  UPDATE pa_resource_assignments
  SET    txn_accum_header_id = NULL;
Line: 5589

        UPDATE pa_resource_assignments
        SET TXN_ACCUM_HEADER_ID = l_txn_accum_header_id_tbl(i),
            RBS_ELEMENT_ID      = l_rbs_element_id_tbl(i)
        WHERE
            RESOURCE_ASSIGNMENT_ID = l_txn_source_id_tbl(i);
Line: 5646

      SELECT fin_plan_type_id into l_workplan_type_id
      FROM pa_fin_plan_types_b
      WHERE use_for_workplan_flag = 'Y';
Line: 5655

      INSERT INTO pji_fm_extr_plnver3_t
      (worker_id,project_id,plan_version_id,time_phased_type_code)
      select
      map.worker_id,bv.project_id,bv.budget_version_id,
      nvl(fpo.all_time_phased_code,nvl(fpo.cost_time_phased_code,fpo.revenue_time_phased_code)) time_phased_code
      from
      PJI_PJP_PROJ_BATCH_MAP map,
      PA_PROJ_FP_OPTIONS     fpo,
      PA_BUDGET_VERSIONS     bv
      where
      map.WORKER_ID    = p_worker_id               and
      fpo.FIN_PLAN_TYPE_ID  = nvl(l_plan_type_id,fpo.FIN_PLAN_TYPE_ID) and
      fpo.PROJECT_ID      = map.PROJECT_ID            and
      bv.PROJECT_ID      = map.PROJECT_ID            and
      bv.BUDGET_VERSION_ID  = fpo.FIN_PLAN_VERSION_ID   and
      (
          'Y' IN    -- Bug#5099574  Pull Reversals for CB / CO if refresh_code < 62 . Else pull for all plans ids >0 if refresh_code>=62
        (
            Select decode(
              bitand(l_refresh_code,g_all_plans),g_all_plans,'Y',
                decode(  bitand(l_refresh_code,g_cb_plans),g_cb_plans,
                decode(decode(bv.baselined_date, NULL, 'N', 'Y')||bv.current_flag,'YY', 'Y', 'N'),'X')) from dual
           UNION  ALL
            Select decode(
              bitand(l_refresh_code,g_all_plans),g_all_plans,'Y',
              decode( bitand(l_refresh_code,g_co_plans),g_co_plans,bv.current_original_flag,'X')) from dual
        )
      OR    -- Bug#5099574  Pull Reversals for Fin plan Working Versions when l_refresh_code=16,30. ignore if  l_refresh_code>=62
        (
         bv.BUDGET_STATUS_CODE in ('W','S')      and
         fpo.FIN_PLAN_TYPE_ID <> l_workplan_type_id    and                -- Bug#  5208322
         DECODE(BITAND(l_refresh_code,g_all_plans),g_all_plans,'N',DECODE(BITAND(l_refresh_code,g_wk_plans),g_wk_plans,'Y','N'))='Y'
         )
      OR    --Pull Reversals for Work plan Working Versions / LPub Vers / Baselined Versions when l_refresh_code=2,8,16,30. ignore if  l_refresh_code>=62
      EXISTS   ( select 1 from PA_PROJ_ELEM_VER_STRUCTURE  ppevs where
         bv.FIN_PLAN_TYPE_ID          = l_workplan_type_id        and    -- Bug#  5208322
         bv.PROJECT_STRUCTURE_VERSION_ID  = ppevs.ELEMENT_VERSION_ID  and
          (
          decode(BITAND(l_refresh_code,g_all_plans),g_all_plans,'N',
                        decode(BITAND(l_refresh_code,g_lp_plans),g_lp_plans,LATEST_EFF_PUBLISHED_FLAG,'N'))='Y'
          or
          decode(BITAND(l_refresh_code,g_all_plans),g_all_plans,'N',
                        decode(BITAND(l_refresh_code,g_wk_plans),g_wk_plans,STATUS_CODE,'N'))='STRUCTURE_WORKING'
                                    or
              decode(BITAND(l_refresh_code,g_all_plans ),g_all_plans ,'N',
                         decode(BITAND(l_refresh_code,g_cb_plans),g_cb_plans,NVL2(CURRENT_BASELINE_DATE,'Y','N'),'N')) ='Y'

          )
        )
      )
    UNION ALL --Pull Reversals for Actuals , CB,CO  when l_refresh_code=-1,-3,-4
      select
      map.worker_id,map.project_id,  plan_version_id,  'G'  time_phased_code
      from
      PJI_PJP_PROJ_BATCH_MAP map,
          (
      select decode (bitand (l_refresh_code,1),1,-1,-999) plan_version_id from dual  where l_plan_type_id is null
      union all
      select decode (bitand (l_refresh_code,g_cb_plans),g_cb_plans,-3,-999) plan_version_id  from dual
      union all
      select decode (bitand (l_refresh_code,g_co_plans),g_co_plans,-4,-999) plan_version_id  from dual
          )
      where map.worker_id=p_worker_id;
Line: 5723

    insert /*+ append parallel(pjp1_i) */ into PJI_FP_AGGR_PJP1 pjp1_i
    (
      WORKER_ID,
      RECORD_TYPE,
      PRG_LEVEL,
      LINE_TYPE,
      PROJECT_ID,
      PROJECT_ORG_ID,
      PROJECT_ORGANIZATION_ID,
      PROJECT_ELEMENT_ID,
      TIME_ID,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      RBS_AGGR_LEVEL,
      WBS_ROLLUP_FLAG,
      PRG_ROLLUP_FLAG,
      CURR_RECORD_TYPE_ID,
      CURRENCY_CODE,
      RBS_ELEMENT_ID,
      RBS_VERSION_ID,
      PLAN_VERSION_ID,
      PLAN_TYPE_ID,
      PLAN_TYPE_CODE,
      RAW_COST,
      BRDN_COST,
      REVENUE,
      BILL_RAW_COST,
      BILL_BRDN_COST,
      BILL_LABOR_RAW_COST,
      BILL_LABOR_BRDN_COST,
      BILL_LABOR_HRS,
      EQUIPMENT_RAW_COST,
      EQUIPMENT_BRDN_COST,
      CAPITALIZABLE_RAW_COST,
      CAPITALIZABLE_BRDN_COST,
      LABOR_RAW_COST,
      LABOR_BRDN_COST,
      LABOR_HRS,
      LABOR_REVENUE,
      EQUIPMENT_HOURS,
      BILLABLE_EQUIPMENT_HOURS,
      SUP_INV_COMMITTED_COST,
      PO_COMMITTED_COST,
      PR_COMMITTED_COST,
      OTH_COMMITTED_COST,
      ACT_LABOR_HRS,
      ACT_EQUIP_HRS,
      ACT_LABOR_BRDN_COST,
      ACT_EQUIP_BRDN_COST,
      ACT_BRDN_COST,
      ACT_RAW_COST,
      ACT_REVENUE,
      ACT_LABOR_RAW_COST,
      ACT_EQUIP_RAW_COST,
      ETC_LABOR_HRS,
      ETC_EQUIP_HRS,
      ETC_LABOR_BRDN_COST,
      ETC_EQUIP_BRDN_COST,
      ETC_BRDN_COST,
      ETC_RAW_COST,
      ETC_LABOR_RAW_COST,
      ETC_EQUIP_RAW_COST,
      CUSTOM1,
      CUSTOM2,
      CUSTOM3,
      CUSTOM4,
      CUSTOM5,
      CUSTOM6,
      CUSTOM7,
      CUSTOM8,
      CUSTOM9,
      CUSTOM10,
      CUSTOM11,
      CUSTOM12,
      CUSTOM13,
      CUSTOM14,
      CUSTOM15
    )
    select /*+ parallel(tmp) */
      WORKER_ID,
      null                                            RECORD_TYPE,
      0                                               PRG_LEVEL,
      null                                            LINE_TYPE,
      PROJECT_ID,
      PROJECT_ORG_ID,
      PROJECT_ORGANIZATION_ID,
      PROJECT_ELEMENT_ID,
      TIME_ID,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      RBS_AGGR_LEVEL,
      WBS_ROLLUP_FLAG,
      PRG_ROLLUP_FLAG,
      CURR_RECORD_TYPE_ID,
      CURRENCY_CODE,
      RBS_ELEMENT_ID,
      RBS_VERSION_ID,
      PLAN_VERSION_ID,
      PLAN_TYPE_ID,
      PLAN_TYPE_CODE,
      sum(RAW_COST)                                   RAW_COST,
      sum(BRDN_COST)                                  BRDN_COST,
      sum(REVENUE)                                    REVENUE,
      sum(BILL_RAW_COST)                              BILL_RAW_COST,
      sum(BILL_BRDN_COST)                             BILL_BRDN_COST,
      sum(BILL_LABOR_RAW_COST)                        BILL_LABOR_RAW_COST,
      sum(BILL_LABOR_BRDN_COST)                       BILL_LABOR_BRDN_COST,
      sum(BILL_LABOR_HRS)                             BILL_LABOR_HRS,
      sum(EQUIPMENT_RAW_COST)                         EQUIPMENT_RAW_COST,
      sum(EQUIPMENT_BRDN_COST)                        EQUIPMENT_BRDN_COST,
      sum(CAPITALIZABLE_RAW_COST)                     CAPITALIZABLE_RAW_COST,
      sum(CAPITALIZABLE_BRDN_COST)                    CAPITALIZABLE_BRDN_COST,
      sum(LABOR_RAW_COST)                             LABOR_RAW_COST,
      sum(LABOR_BRDN_COST)                            LABOR_BRDN_COST,
      sum(LABOR_HRS)                                  LABOR_HRS,
      sum(LABOR_REVENUE)                              LABOR_REVENUE,
      sum(EQUIPMENT_HOURS)                            EQUIPMENT_HOURS,
      sum(BILLABLE_EQUIPMENT_HOURS)                   BILLABLE_EQUIPMENT_HOURS,
      sum(SUP_INV_COMMITTED_COST)                     SUP_INV_COMMITTED_COST,
      sum(PO_COMMITTED_COST)                          PO_COMMITTED_COST,
      sum(PR_COMMITTED_COST)                          PR_COMMITTED_COST,
      sum(OTH_COMMITTED_COST)                         OTH_COMMITTED_COST,
      sum(ACT_LABOR_HRS)                              ACT_LABOR_HRS,
      sum(ACT_EQUIP_HRS)                              ACT_EQUIP_HRS,
      sum(ACT_LABOR_BRDN_COST)                        ACT_LABOR_BRDN_COST,
      sum(ACT_EQUIP_BRDN_COST)                        ACT_EQUIP_BRDN_COST,
      sum(ACT_BRDN_COST)                              ACT_BRDN_COST,
      sum(ACT_RAW_COST)                               ACT_RAW_COST,
      sum(ACT_REVENUE)                                ACT_REVENUE,
      sum(ACT_LABOR_RAW_COST)                         ACT_LABOR_RAW_COST,
      sum(ACT_EQUIP_RAW_COST)                         ACT_EQUIP_RAW_COST,
      sum(ETC_LABOR_HRS)                              ETC_LABOR_HRS,
      sum(ETC_EQUIP_HRS)                              ETC_EQUIP_HRS,
      sum(ETC_LABOR_BRDN_COST)                        ETC_LABOR_BRDN_COST,
      sum(ETC_EQUIP_BRDN_COST)                        ETC_EQUIP_BRDN_COST,
      sum(ETC_BRDN_COST)                              ETC_BRDN_COST,
      sum(ETC_RAW_COST)                               ETC_RAW_COST,
      sum(ETC_LABOR_RAW_COST)                         ETC_LABOR_RAW_COST,
      sum(ETC_EQUIP_RAW_COST)                         ETC_EQUIP_RAW_COST,
      sum(CUSTOM1)                                    CUSTOM1,
      sum(CUSTOM2)                                    CUSTOM2,
      sum(CUSTOM3)                                    CUSTOM3,
      sum(CUSTOM4)                                    CUSTOM4,
      sum(CUSTOM5)                                    CUSTOM5,
      sum(CUSTOM6)                                    CUSTOM6,
      sum(CUSTOM7)                                    CUSTOM7,
      sum(CUSTOM8)                                    CUSTOM8,
      sum(CUSTOM9)                                    CUSTOM9,
      sum(CUSTOM10)                                   CUSTOM10,
      sum(CUSTOM11)                                   CUSTOM11,
      sum(CUSTOM12)                                   CUSTOM12,
      sum(CUSTOM13)                                   CUSTOM13,
      sum(CUSTOM14)                                   CUSTOM14,
      sum(CUSTOM15)                                   CUSTOM15
    from
      (
      select /*+ parallel(PJI_FP_AGGR_PJP0) */
        WORKER_ID,
        to_char(null)                                 LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        'A'                                           PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        to_number(null)                               ACT_LABOR_HRS,
        to_number(null)                               ACT_EQUIP_HRS,
        to_number(null)                               ACT_LABOR_BRDN_COST,
        to_number(null)                               ACT_EQUIP_BRDN_COST,
        to_number(null)                               ACT_BRDN_COST,
        to_number(null)                               ACT_RAW_COST,
        to_number(null)                               ACT_REVENUE,
        to_number(null)                               ACT_LABOR_RAW_COST,
        to_number(null)                               ACT_EQUIP_RAW_COST,
        to_number(null)                               ETC_LABOR_HRS,
        to_number(null)                               ETC_EQUIP_HRS,
        to_number(null)                               ETC_LABOR_BRDN_COST,
        to_number(null)                               ETC_EQUIP_BRDN_COST,
        to_number(null)                               ETC_BRDN_COST,
        to_number(null)                               ETC_RAW_COST,
        to_number(null)                               ETC_LABOR_RAW_COST,
        to_number(null)                               ETC_EQUIP_RAW_COST,
        to_number(null)                               CUSTOM1,
        to_number(null)                               CUSTOM2,
        to_number(null)                               CUSTOM3,
        to_number(null)                               CUSTOM4,
        to_number(null)                               CUSTOM5,
        to_number(null)                               CUSTOM6,
        to_number(null)                               CUSTOM7,
        to_number(null)                               CUSTOM8,
        to_number(null)                               CUSTOM9,
        to_number(null)                               CUSTOM10,
        to_number(null)                               CUSTOM11,
        to_number(null)                               CUSTOM12,
        to_number(null)                               CUSTOM13,
        to_number(null)                               CUSTOM14,
        to_number(null)                               CUSTOM15
      from
        PJI_FP_AGGR_PJP0
      where
        WORKER_ID = p_worker_id
      union all
      select /*+ parallel(PJI_FP_AGGR_PJP0) */
        WORKER_ID,
        to_char(null)                                 LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        'A'                                           PLAN_TYPE_CODE,
        to_number(null)                               RAW_COST,
        to_number(null)                               BRDN_COST,
        to_number(null)                               REVENUE,
        to_number(null)                               BILL_RAW_COST,
        to_number(null)                               BILL_BRDN_COST,
        to_number(null)                               BILL_LABOR_RAW_COST,
        to_number(null)                               BILL_LABOR_BRDN_COST,
        to_number(null)                               BILL_LABOR_HRS,
        to_number(null)                               EQUIPMENT_RAW_COST,
        to_number(null)                               EQUIPMENT_BRDN_COST,
        to_number(null)                               CAPITALIZABLE_RAW_COST,
        to_number(null)                               CAPITALIZABLE_BRDN_COST,
        to_number(null)                               LABOR_RAW_COST,
        to_number(null)                               LABOR_BRDN_COST,
        to_number(null)                               LABOR_HRS,
        to_number(null)                               LABOR_REVENUE,
        to_number(null)                               EQUIPMENT_HOURS,
        to_number(null)                               BILLABLE_EQUIPMENT_HOURS,
        to_number(null)                               SUP_INV_COMMITTED_COST,
        to_number(null)                               PO_COMMITTED_COST,
        to_number(null)                               PR_COMMITTED_COST,
        to_number(null)                               OTH_COMMITTED_COST,
        to_number(null)                               ACT_LABOR_HRS,
        to_number(null)                               ACT_EQUIP_HRS,
        to_number(null)                               ACT_LABOR_BRDN_COST,
        to_number(null)                               ACT_EQUIP_BRDN_COST,
        to_number(null)                               ACT_BRDN_COST,
        to_number(null)                               ACT_RAW_COST,
        to_number(null)                               ACT_REVENUE,
        to_number(null)                               ACT_LABOR_RAW_COST,
        to_number(null)                               ACT_EQUIP_RAW_COST,
        to_number(null)                               ETC_LABOR_HRS,
        to_number(null)                               ETC_EQUIP_HRS,
        to_number(null)                               ETC_LABOR_BRDN_COST,
        to_number(null)                               ETC_EQUIP_BRDN_COST,
        to_number(null)                               ETC_BRDN_COST,
        to_number(null)                               ETC_RAW_COST,
        to_number(null)                               ETC_LABOR_RAW_COST,
        to_number(null)                               ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      from
        PJI_FP_CUST_PJP0
      where
        WORKER_ID = p_worker_id
      union all                      -- commitments reversals
      select /*+ ordered parallel(map) parallel(fpr) use_hash(fpr) */
        p_worker_id                                   WORKER_ID,
        to_char(null)                                 LINE_TYPE,
        fpr.PROJECT_ID,
        fpr.PROJECT_ORG_ID,
        fpr.PROJECT_ORGANIZATION_ID,
        fpr.PROJECT_ELEMENT_ID,
        fpr.TIME_ID,
        fpr.PERIOD_TYPE_ID,
        fpr.CALENDAR_TYPE,
        fpr.RBS_AGGR_LEVEL,
        fpr.WBS_ROLLUP_FLAG,
        fpr.PRG_ROLLUP_FLAG,
        fpr.CURR_RECORD_TYPE_ID,
        fpr.CURRENCY_CODE,
        fpr.RBS_ELEMENT_ID,
        fpr.RBS_VERSION_ID,
        fpr.PLAN_VERSION_ID,
        fpr.PLAN_TYPE_ID,
        fpr.PLAN_TYPE_CODE,
        to_number(null)                               RAW_COST,
        to_number(null)                               BRDN_COST,
        to_number(null)                               REVENUE,
        to_number(null)                               BILL_RAW_COST,
        to_number(null)                               BILL_BRDN_COST,
        to_number(null)                               BILL_LABOR_RAW_COST,
        to_number(null)                               BILL_LABOR_BRDN_COST,
        to_number(null)                               BILL_LABOR_HRS,
        to_number(null)                               EQUIPMENT_RAW_COST,
        to_number(null)                               EQUIPMENT_BRDN_COST,
        to_number(null)                               CAPITALIZABLE_RAW_COST,
        to_number(null)                               CAPITALIZABLE_BRDN_COST,
        to_number(null)                               LABOR_RAW_COST,
        to_number(null)                               LABOR_BRDN_COST,
        to_number(null)                               LABOR_HRS,
        to_number(null)                               LABOR_REVENUE,
        to_number(null)                               EQUIPMENT_HOURS,
        to_number(null)                               BILLABLE_EQUIPMENT_HOURS,
        - fpr.SUP_INV_COMMITTED_COST,
        - fpr.PO_COMMITTED_COST,
        - fpr.PR_COMMITTED_COST,
        - fpr.OTH_COMMITTED_COST,
        to_number(null)                               ACT_LABOR_HRS,
        to_number(null)                               ACT_EQUIP_HRS,
        to_number(null)                               ACT_LABOR_BRDN_COST,
        to_number(null)                               ACT_EQUIP_BRDN_COST,
        to_number(null)                               ACT_BRDN_COST,
        to_number(null)                               ACT_RAW_COST,
        to_number(null)                               ACT_REVENUE,
        to_number(null)                               ACT_LABOR_RAW_COST,
        to_number(null)                               ACT_EQUIP_RAW_COST,
        to_number(null)                               ETC_LABOR_HRS,
        to_number(null)                               ETC_EQUIP_HRS,
        to_number(null)                               ETC_LABOR_BRDN_COST,
        to_number(null)                               ETC_EQUIP_BRDN_COST,
        to_number(null)                               ETC_BRDN_COST,
        to_number(null)                               ETC_RAW_COST,
        to_number(null)                               ETC_LABOR_RAW_COST,
        to_number(null)                               ETC_EQUIP_RAW_COST,
        to_number(null)                               CUSTOM1,
        to_number(null)                               CUSTOM2,
        to_number(null)                               CUSTOM3,
        to_number(null)                               CUSTOM4,
        to_number(null)                               CUSTOM5,
        to_number(null)                               CUSTOM6,
        to_number(null)                               CUSTOM7,
        to_number(null)                               CUSTOM8,
        to_number(null)                               CUSTOM9,
        to_number(null)                               CUSTOM10,
        - fpr.custom11                                CUSTOM11,		/* Modified for Bug 8271578 Start */
        - fpr.custom12                                CUSTOM12,
        - fpr.custom13                                CUSTOM13,
        - fpr.custom14                                CUSTOM14,
        - fpr.custom15                                CUSTOM15		/* Modified for Bug 8271578 End */
      from
        PJI_PJP_PROJ_BATCH_MAP map,
        PJI_FP_XBS_ACCUM_F fpr
      where
        l_extraction_type   = 'INCREMENTAL'  and
        map.WORKER_ID       = p_worker_id    and
        map.EXTRACTION_TYPE = 'M'            and
        fpr.PROJECT_ID      = map.PROJECT_ID and
        fpr.PERIOD_TYPE_ID  = 32             and
        fpr.RBS_AGGR_LEVEL  = 'L'            and
        fpr.WBS_ROLLUP_FLAG = 'N'            and
        fpr.PRG_ROLLUP_FLAG = 'N'            and
        abs(nvl(fpr.SUP_INV_COMMITTED_COST, 0)) +
          abs(nvl(fpr.PO_COMMITTED_COST, 0)) +
          abs(nvl(fpr.PR_COMMITTED_COST, 0)) +
          abs(nvl(fpr.OTH_COMMITTED_COST, 0)) > 0
      union all
      select /*+ ordered parallel(map) parallel(fpr) use_hash(fpr) */
        p_worker_id                                   WORKER_ID,
        to_char(null)                                 LINE_TYPE,
        fpr.PROJECT_ID,
        fpr.PROJECT_ORG_ID,
        fpr.PROJECT_ORGANIZATION_ID,
        fpr.PROJECT_ELEMENT_ID,
        fpr.TIME_ID,
        fpr.PERIOD_TYPE_ID,
        fpr.CALENDAR_TYPE,
        fpr.RBS_AGGR_LEVEL,
        fpr.WBS_ROLLUP_FLAG,
        fpr.PRG_ROLLUP_FLAG,
        fpr.CURR_RECORD_TYPE_ID,
        fpr.CURRENCY_CODE,
        fpr.RBS_ELEMENT_ID,
        fpr.RBS_VERSION_ID,
        fpr.PLAN_VERSION_ID,
        fpr.PLAN_TYPE_ID,
        fpr.PLAN_TYPE_CODE,
        - fpr.RAW_COST                                RAW_COST,
        - fpr.BRDN_COST                               BRDN_COST,
        - fpr.REVENUE                                 REVENUE,
        - fpr.BILL_RAW_COST                           BILL_RAW_COST,
        - fpr.BILL_BRDN_COST                          BILL_BRDN_COST,
        - fpr.BILL_LABOR_RAW_COST                     BILL_LABOR_RAW_COST,
        - fpr.BILL_LABOR_BRDN_COST                    BILL_LABOR_BRDN_COST,
        - fpr.BILL_LABOR_HRS                          BILL_LABOR_HRS,
        - fpr.EQUIPMENT_RAW_COST                      EQUIPMENT_RAW_COST,
        - fpr.EQUIPMENT_BRDN_COST                     EQUIPMENT_BRDN_COST,
        - fpr.CAPITALIZABLE_RAW_COST                  CAPITALIZABLE_RAW_COST,
        - fpr.CAPITALIZABLE_BRDN_COST                 CAPITALIZABLE_BRDN_COST,
        - fpr.LABOR_RAW_COST                          LABOR_RAW_COST,
        - fpr.LABOR_BRDN_COST                         LABOR_BRDN_COST,
        - fpr.LABOR_HRS                               LABOR_HRS,
        - fpr.LABOR_REVENUE                           LABOR_REVENUE,
        - fpr.EQUIPMENT_HOURS                         EQUIPMENT_HOURS,
        - fpr.BILLABLE_EQUIPMENT_HOURS                BILLABLE_EQUIPMENT_HOURS,
        - fpr.SUP_INV_COMMITTED_COST                  SUP_INV_COMMITTED_COST,
        - fpr.PO_COMMITTED_COST                       PO_COMMITTED_COST,
        - fpr.PR_COMMITTED_COST                       PR_COMMITTED_COST,
        - fpr.OTH_COMMITTED_COST                      OTH_COMMITTED_COST,
        - fpr.ACT_LABOR_HRS                           ACT_LABOR_HRS,
        - fpr.ACT_EQUIP_HRS                           ACT_EQUIP_HRS,
        - fpr.ACT_LABOR_BRDN_COST                     ACT_LABOR_BRDN_COST,
        - fpr.ACT_EQUIP_BRDN_COST                     ACT_EQUIP_BRDN_COST,
        - fpr.ACT_BRDN_COST                           ACT_BRDN_COST,
        - fpr.ACT_RAW_COST                            ACT_RAW_COST,
        - fpr.ACT_REVENUE                             ACT_REVENUE,
        - fpr.ACT_LABOR_RAW_COST                      ACT_LABOR_RAW_COST,
        - fpr.ACT_EQUIP_RAW_COST                      ACT_EQUIP_RAW_COST,
        - fpr.ETC_LABOR_HRS                           ETC_LABOR_HRS,
        - fpr.ETC_EQUIP_HRS                           ETC_EQUIP_HRS,
        - fpr.ETC_LABOR_BRDN_COST                     ETC_LABOR_BRDN_COST,
        - fpr.ETC_EQUIP_BRDN_COST                     ETC_EQUIP_BRDN_COST,
        - fpr.ETC_BRDN_COST                           ETC_BRDN_COST,
        - fpr.ETC_RAW_COST                            ETC_RAW_COST,
        - fpr.ETC_LABOR_RAW_COST                      ETC_LABOR_RAW_COST,
        - fpr.ETC_EQUIP_RAW_COST                      ETC_EQUIP_RAW_COST,
        - fpr.CUSTOM1                                 CUSTOM1,
        - fpr.CUSTOM2                                 CUSTOM2,
        - fpr.CUSTOM3                                 CUSTOM3,
        - fpr.CUSTOM4                                 CUSTOM4,
        - fpr.CUSTOM5                                 CUSTOM5,
        - fpr.CUSTOM6                                 CUSTOM6,
        - fpr.CUSTOM7                                 CUSTOM7,
        - fpr.CUSTOM8                                 CUSTOM8,
        - fpr.CUSTOM9                                 CUSTOM9,
        - fpr.CUSTOM10                                CUSTOM10,
        - fpr.CUSTOM11                                CUSTOM11,
        - fpr.CUSTOM12                                CUSTOM12,
        - fpr.CUSTOM13                                CUSTOM13,
        - fpr.CUSTOM14                                CUSTOM14,
        - fpr.CUSTOM15                                CUSTOM15
      from
        PJI_FM_EXTR_PLNVER3_T map,
        PJI_FP_XBS_ACCUM_F fpr
      where
        l_extraction_type   = 'PARTIAL'           and
        map.WORKER_ID       = p_worker_id         and
        fpr.PROJECT_ID      = map.PROJECT_ID      and
        fpr.PLAN_VERSION_ID = map.PLAN_VERSION_ID and
        fpr.PERIOD_TYPE_ID  = decode(map.time_phased_type_code,
                                     'N', decode(fpr.PERIOD_TYPE_ID,
                                                 32, 32,
                                                     2048),
                                          32)     and
        fpr.RBS_AGGR_LEVEL  = 'L'                 and
        fpr.WBS_ROLLUP_FLAG = 'N'                 and
        fpr.PRG_ROLLUP_FLAG = 'N'
      ) tmp
      group by
      WORKER_ID,
      LINE_TYPE,
      PROJECT_ID,
      PROJECT_ORG_ID,
      PROJECT_ORGANIZATION_ID,
      PROJECT_ELEMENT_ID,
      TIME_ID,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      RBS_AGGR_LEVEL,
      WBS_ROLLUP_FLAG,
      PRG_ROLLUP_FLAG,
      CURR_RECORD_TYPE_ID,
      CURRENCY_CODE,
      RBS_ELEMENT_ID,
      RBS_VERSION_ID,
      PLAN_VERSION_ID,
      PLAN_TYPE_ID,
      PLAN_TYPE_CODE
    having not
      (nvl(sum(RAW_COST), 0)                 = 0 and
       nvl(sum(BRDN_COST), 0)                = 0 and
       nvl(sum(REVENUE), 0)                  = 0 and
       nvl(sum(BILL_RAW_COST), 0)            = 0 and
       nvl(sum(BILL_BRDN_COST), 0)           = 0 and
       nvl(sum(BILL_LABOR_RAW_COST), 0)      = 0 and
       nvl(sum(BILL_LABOR_BRDN_COST), 0)     = 0 and
       nvl(sum(BILL_LABOR_HRS), 0)           = 0 and
       nvl(sum(EQUIPMENT_RAW_COST), 0)       = 0 and
       nvl(sum(EQUIPMENT_BRDN_COST), 0)      = 0 and
       nvl(sum(CAPITALIZABLE_RAW_COST), 0)   = 0 and
       nvl(sum(CAPITALIZABLE_BRDN_COST), 0)  = 0 and
       nvl(sum(LABOR_RAW_COST), 0)           = 0 and
       nvl(sum(LABOR_BRDN_COST), 0)          = 0 and
       nvl(sum(LABOR_HRS), 0)                = 0 and
       nvl(sum(LABOR_REVENUE), 0)            = 0 and
       nvl(sum(EQUIPMENT_HOURS), 0)          = 0 and
       nvl(sum(BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
       nvl(sum(SUP_INV_COMMITTED_COST), 0)   = 0 and
       nvl(sum(PO_COMMITTED_COST), 0)        = 0 and
       nvl(sum(PR_COMMITTED_COST), 0)        = 0 and
       nvl(sum(OTH_COMMITTED_COST), 0)       = 0 and
       nvl(sum(ACT_LABOR_HRS), 0)            = 0 and
       nvl(sum(ACT_EQUIP_HRS), 0)            = 0 and
       nvl(sum(ACT_LABOR_BRDN_COST), 0)      = 0 and
       nvl(sum(ACT_EQUIP_BRDN_COST), 0)      = 0 and
       nvl(sum(ACT_BRDN_COST), 0)            = 0 and
       nvl(sum(ACT_RAW_COST), 0)             = 0 and
       nvl(sum(ACT_REVENUE), 0)              = 0 and
       nvl(sum(ACT_LABOR_RAW_COST), 0)       = 0 and
       nvl(sum(ACT_EQUIP_RAW_COST), 0)       = 0 and
       nvl(sum(ETC_LABOR_HRS), 0)            = 0 and
       nvl(sum(ETC_EQUIP_HRS), 0)            = 0 and
       nvl(sum(ETC_LABOR_BRDN_COST), 0)      = 0 and
       nvl(sum(ETC_EQUIP_BRDN_COST), 0)      = 0 and
       nvl(sum(ETC_BRDN_COST), 0)            = 0 and
       nvl(sum(ETC_RAW_COST), 0)             = 0 and
       nvl(sum(ETC_LABOR_RAW_COST), 0)       = 0 and
       nvl(sum(ETC_EQUIP_RAW_COST), 0)       = 0 and
       nvl(sum(CUSTOM1), 0)                  = 0 and
       nvl(sum(CUSTOM2), 0)                  = 0 and
       nvl(sum(CUSTOM3), 0)                  = 0 and
       nvl(sum(CUSTOM4), 0)                  = 0 and
       nvl(sum(CUSTOM5), 0)                  = 0 and
       nvl(sum(CUSTOM6), 0)                  = 0 and
       nvl(sum(CUSTOM7), 0)                  = 0 and
       nvl(sum(CUSTOM8), 0)                  = 0 and
       nvl(sum(CUSTOM9), 0)                  = 0 and
       nvl(sum(CUSTOM10), 0)                 = 0 and
       nvl(sum(CUSTOM11), 0)                 = 0 and
       nvl(sum(CUSTOM12), 0)                 = 0 and
       nvl(sum(CUSTOM13), 0)                 = 0 and
       nvl(sum(CUSTOM14), 0)                 = 0 and
       nvl(sum(CUSTOM15), 0)                 = 0);
Line: 6296

    delete from PJI_FM_EXTR_PLNVER3_T where worker_id=p_worker_id;
Line: 6330

            select decode (PDML_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'DISABLE'),
            decode (PQ_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'ENABLE')
            into l_pdml_state, l_pq_state
            from v$session
            where sid = (select min(sid) from v$mystat where rownum < 2);
Line: 6352

      select STEP_SEQ
      into l_step_seq
      from PJI_SYSTEM_PRC_STATUS
      where PROCESS_NAME = l_process and
        STEP_NAME = 'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_WBS(p_worker_id);';
Line: 6358

      select count(*)
      into l_count
      from PJI_SYSTEM_PRC_STATUS
      where PROCESS_NAME = l_process and
        STEP_NAME like 'ROLLUP_FPR_WBS%';
Line: 6366

        select /*+ ordered index(den PJI_XBS_DENORM_N3) use_hash(den) */    --Bug 7516507
          nvl(max(den.SUP_LEVEL), 0)
        into
          l_level
        from
          PJI_PJP_PROJ_BATCH_MAP map,
          PJI_XBS_DENORM den
        where
          map.WORKER_ID      = p_worker_id    and
          den.STRUCT_TYPE    = 'PRG'          and
          den.SUB_LEVEL      = den.SUP_LEVEL  and
          den.SUP_PROJECT_ID = map.PROJECT_ID;
Line: 6385

          insert /*+ NOAPPEND */ into PJI_SYSTEM_PRC_STATUS sps
          (
            PROCESS_NAME,
            STEP_SEQ,
            STEP_STATUS,
            STEP_NAME,
            START_DATE,
            END_DATE
          )
          select
            l_process                                             PROCESS_NAME,
            to_char(l_step_seq + x / 1000)                        STEP_SEQ,
            null                                                  STEP_STATUS,
            'ROLLUP_FPR_WBS - level ' || to_char(l_level - x + 1) STEP_NAME,
            null                                                  START_DATE,
            null                                                  END_DATE
          from
            DUAL;
Line: 6411

      select
        nvl(to_number(min(STEP_SEQ)), 0)
      into
        l_level_seq
      from
        PJI_SYSTEM_PRC_STATUS
      where
        PROCESS_NAME = l_process and
        STEP_NAME like 'ROLLUP_FPR_WBS%' and
        STEP_STATUS is null;
Line: 6430

        update /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */ PJI_SYSTEM_PRC_STATUS sps
        set    START_DATE = sysdate
        where  PROCESS_NAME = l_process and
               STEP_SEQ = l_level_seq;
Line: 6441

        update /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */ PJI_SYSTEM_PRC_STATUS
        set    STEP_STATUS = 'C',
               END_DATE = sysdate
        where  PROCESS_NAME = l_process and
               STEP_SEQ = l_level_seq;
Line: 6449

        select
          nvl(to_number(min(STEP_SEQ)), 0)
        into
          l_level_seq
        from
          PJI_SYSTEM_PRC_STATUS
        where
          PROCESS_NAME = l_process and
          STEP_NAME like 'ROLLUP_FPR_WBS%' and
          STEP_STATUS is null;
Line: 6479

      select decode (PDML_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'DISABLE'),
             decode (PQ_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'ENABLE')
      into l_pdml_state, l_pq_state
      from v$session
      where sid = (select min(sid) from v$mystat where rownum < 2);
Line: 6503

    select decode (PDML_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'DISABLE'),
           decode (PQ_STATUS, 'DISABLED', 'DISABLE', 'ENABLED', 'ENABLE', 'FORCED', 'FORCE', 'ENABLE')
    into l_pdml_state, l_pq_state
    from v$session
    where sid = (select min(sid) from v$mystat where rownum < 2);
Line: 6534

      delete /*+ PARALLEL(pjp1) */
      from   PJI_AC_AGGR_PJP1 pjp1
      where  pjp1.WORKER_ID = p_worker_id and
             nvl(pjp1.RECORD_TYPE, 'X') <> 'A';
Line: 6551

    update FND_PROFILE_OPTION_VALUES
    set    PROFILE_OPTION_VALUE = 'N'
    where  APPLICATION_ID = 1292
    and    PROFILE_OPTION_ID in
           (select PROFILE_OPTION_ID
            from   FND_PROFILE_OPTIONS
            where  APPLICATION_ID = 1292 and
                   PROFILE_OPTION_NAME = 'PJI_SUM_CLEANALL');
Line: 6584

    select count(*)
    into   l_count
    from   PJI_SYSTEM_PRC_STATUS
    where  PROCESS_NAME = p_process and
           STEP_NAME    = p_step;
Line: 6594

    select STEP_STATUS,
           STEP_SEQ
    into   l_status,
           l_seq
    from   PJI_SYSTEM_PRC_STATUS
    where  PROCESS_NAME = p_process and
           STEP_NAME    = p_step;
Line: 6606

      update /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */ PJI_SYSTEM_PRC_STATUS
      set    START_DATE = sysdate
      where  PROCESS_NAME = p_process and
             STEP_NAME    = p_step and
             START_DATE   is null;
Line: 6633

    update /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */
           PJI_SYSTEM_PRC_STATUS
    set    STEP_STATUS = 'C',
           END_DATE = sysdate
    where  PROCESS_NAME = p_process and
           STEP_NAME    = p_step;
Line: 6650

    delete /*+ NO_PARALLEL(PJI_SYSTEM_PRC_STATUS) */
    from   PJI_SYSTEM_PRC_STATUS
    where  PROCESS_NAME = p_process;
Line: 6654

    delete /*+ NO_PARALLEL(PJI_SYSTEM_PARAMETERS) */
    from   PJI_SYSTEM_PARAMETERS
    where  NAME like p_process || '$%';
Line: 6675

    insert
                /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
    into PJI_FP_AGGR_PJP1 partition(P1)
 	  (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 8169

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P2)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 9663

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P3)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 11156

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P4)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 12650

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P5)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 14143

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P6)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 15636

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P7)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 17130

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P8)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 18624

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P9)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 20118

  insert
            /*+
                BEGIN_OUTLINE_DATA
                  IGNORE_OPTIM_EMBEDDED_HINTS
                  OPTIMIZER_FEATURES_ENABLE('10.2.0.3')
                  OPT_PARAM('_b_tree_bitmap_plans' 'false')
                  OPT_PARAM('_fast_full_scan_enabled' 'false')
                  ALL_ROWS
                  OUTLINE_LEAF(@"SEL$4")
                  OUTLINE_LEAF(@"SEL$5")
                  OUTLINE_LEAF(@"SEL$6")
                  OUTLINE_LEAF(@"SEL$7")
                  OUTLINE_LEAF(@"SEL$8")
                  OUTLINE_LEAF(@"SEL$9")
                  OUTLINE_LEAF(@"SEL$10")
                  OUTLINE_LEAF(@"SEL$11")
                  OUTLINE_LEAF(@"SET$2")
                  OUTLINE_LEAF(@"SEL$12")
                  OUTLINE_LEAF(@"SEL$13")
                  OUTLINE_LEAF(@"SET$3")
                  OUTLINE_LEAF(@"SEL$3")
                  OUTLINE_LEAF(@"SEL$15")
                  OUTLINE_LEAF(@"SEL$16")
                  OUTLINE_LEAF(@"SEL$17")
                  OUTLINE_LEAF(@"SEL$18")
                  OUTLINE_LEAF(@"SET$4")
                  OUTLINE_LEAF(@"SEL$14")
                  OUTLINE_LEAF(@"SEL$20")
                  OUTLINE_LEAF(@"SEL$21")
                  OUTLINE_LEAF(@"SEL$22")
                  OUTLINE_LEAF(@"SEL$23")
                  OUTLINE_LEAF(@"SEL$24")
                  OUTLINE_LEAF(@"SEL$25")
                  OUTLINE_LEAF(@"SEL$26")
                  OUTLINE_LEAF(@"SEL$27")
                  OUTLINE_LEAF(@"SET$5")
                  OUTLINE_LEAF(@"SEL$28")
                  OUTLINE_LEAF(@"SEL$29")
                  OUTLINE_LEAF(@"SET$6")
                  OUTLINE_LEAF(@"SEL$19")
                  OUTLINE_LEAF(@"SET$1")
                  OUTLINE_LEAF(@"SEL$31")
                  OUTLINE_LEAF(@"SEL$32")
                  OUTLINE_LEAF(@"SEL$33")
                  OUTLINE_LEAF(@"SEL$34")
                  OUTLINE_LEAF(@"SET$7")
                  OUTLINE_LEAF(@"SEL$30")
                  OUTLINE_LEAF(@"SEL$2")
                  OUTLINE_LEAF(@"SEL$1")
                  OUTLINE_LEAF(@"INS$1")
                  OUTLINE(@"SEL$4")
                  OUTLINE(@"SEL$5")
                  OUTLINE(@"SEL$6")
                  OUTLINE(@"SEL$7")
                  OUTLINE(@"SEL$8")
                  OUTLINE(@"SEL$9")
                  OUTLINE(@"SEL$10")
                  OUTLINE(@"SEL$11")
                  OUTLINE(@"SET$2")
                  OUTLINE(@"SEL$12")
                  OUTLINE(@"SEL$13")
                  OUTLINE(@"SET$3")
                  OUTLINE(@"SEL$3")
                  OUTLINE(@"SEL$15")
                  OUTLINE(@"SEL$16")
                  OUTLINE(@"SEL$17")
                  OUTLINE(@"SEL$18")
                  OUTLINE(@"SET$4")
                  OUTLINE(@"SEL$14")
                  OUTLINE(@"SEL$20")
                  OUTLINE(@"SEL$21")
                  OUTLINE(@"SEL$22")
                  OUTLINE(@"SEL$23")
                  OUTLINE(@"SEL$24")
                  OUTLINE(@"SEL$25")
                  OUTLINE(@"SEL$26")
                  OUTLINE(@"SEL$27")
                  OUTLINE(@"SET$5")
                  OUTLINE(@"SEL$28")
                  OUTLINE(@"SEL$29")
                  OUTLINE(@"SET$6")
                  OUTLINE(@"SEL$19")
                  OUTLINE(@"SET$1")
                  OUTLINE(@"SEL$31")
                  OUTLINE(@"SEL$32")
                  OUTLINE(@"SEL$33")
                  OUTLINE(@"SEL$34")
                  OUTLINE(@"SET$7")
                  OUTLINE(@"SEL$30")
                  OUTLINE(@"SEL$2")
                  OUTLINE(@"SEL$1")
                  OUTLINE(@"INS$1")
                  FULL(@"INS$1" "PJI_FP_AGGR_PJP1"@"INS$1")
                  NO_ACCESS(@"SEL$1" "PJP1_I"@"SEL$1")
                  INDEX_RS_ASC(@"SEL$1" "SUP_WPA"@"SEL$1" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$1" "SUP_FIN_VER"@"SEL$1" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$1" "PJP1_I"@"SEL$1" "SUP_WPA"@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_WPA"@"SEL$1")
                  USE_NL(@"SEL$1" "SUP_FIN_VER"@"SEL$1")
                  NO_ACCESS(@"SEL$2" "PJP"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUB_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  NO_ACCESS(@"SEL$2" "PRG"@"SEL$2")
                  INDEX_RS_ASC(@"SEL$2" "SUP_WPA"@"SEL$2" ("PA_PROJ_WORKPLAN_ATTR"."PROJ_ELEMENT_ID"))
                  INDEX_RS_ASC(@"SEL$2" "WBS_HDR"@"SEL$2" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  INDEX_RS_ASC(@"SEL$2" "SUP_VER"@"SEL$2" ("PA_PROJ_ELEM_VER_STRUCTURE"."ELEMENT_VERSION_ID"))
                  LEADING(@"SEL$2" "PJP"@"SEL$2" "SUB_VER"@"SEL$2" "PRG"@"SEL$2" "SUP_WPA"@"SEL$2" "WBS_HDR"@"SEL$2" "SUP_VER"@"SEL$2")
                  USE_NL(@"SEL$2" "SUB_VER"@"SEL$2")
                  USE_HASH(@"SEL$2" "PRG"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_WPA"@"SEL$2")
                  USE_NL(@"SEL$2" "WBS_HDR"@"SEL$2")
                  USE_NL(@"SEL$2" "SUP_VER"@"SEL$2")
                  PQ_DISTRIBUTE(@"SEL$2" "PRG"@"SEL$2"HASH HASH)
                  FULL(@"SEL$30" "MAP"@"SEL$30")
                  FULL(@"SEL$30" "PRG"@"SEL$30")
                  NO_ACCESS(@"SEL$30" "INVERT"@"SEL$30")
                  FULL(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  LEADING(@"SEL$30" "MAP"@"SEL$30" "PRG"@"SEL$30" "INVERT"@"SEL$30" "PRG_DELTA"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG"@"SEL$30")
                  USE_HASH(@"SEL$30" "INVERT"@"SEL$30")
                  USE_HASH(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  PQ_DISTRIBUTE(@"SEL$30" "PRG"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "INVERT"@"SEL$30"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$30" "PRG_DELTA"@"SEL$30"NONE BROADCAST)
                  SWAP_JOIN_INPUTS(@"SEL$30" "INVERT"@"SEL$30")
                  SWAP_JOIN_INPUTS(@"SEL$30" "PRG_DELTA"@"SEL$30")
                  FULL(@"SEL$19" "LOG"@"SEL$19")
                  INDEX(@"SEL$19" "WBS_HDR"@"SEL$19" ("PJI_PJP_WBS_HEADER"."PROJECT_ID" "PJI_PJP_WBS_HEADER"."PLAN_VERSION_ID"))
                  FULL(@"SEL$19" "WBS"@"SEL$19")
                  INDEX_RS_ASC(@"SEL$19" "PRG"@"SEL$19" ("PJI_XBS_DENORM"."SUP_PROJECT_ID"))
                  INDEX(@"SEL$19" "FPR"@"SEL$19" ("PJI_FP_XBS_ACCUM_F"."PROJECT_ID" "PJI_FP_XBS_ACCUM_F"."PLAN_VERSION_ID" "PJI_FP_XBS_ACCUM_F"."PROJECT_ELEMENT_ID" "PJI_FP_XBS_ACCUM_F"."TIME_ID" "PJI_FP_XBS_ACCUM_F"."RBS_VERSION_ID"))
                  NO_ACCESS(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  NO_ACCESS(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  LEADING(@"SEL$19" "LOG"@"SEL$19" "WBS_HDR"@"SEL$19" "WBS"@"SEL$19" "PRG"@"SEL$19" "FPR"@"SEL$19" "FIN_PLAN"@"SEL$19" "TOP_SLICE"@"SEL$19")
                  USE_NL(@"SEL$19" "WBS_HDR"@"SEL$19")
                  USE_HASH(@"SEL$19" "WBS"@"SEL$19")
                  USE_NL(@"SEL$19" "PRG"@"SEL$19")
                  USE_NL(@"SEL$19" "FPR"@"SEL$19")
                  USE_HASH(@"SEL$19" "FIN_PLAN"@"SEL$19")
                  USE_HASH(@"SEL$19" "TOP_SLICE"@"SEL$19")
                  PQ_DISTRIBUTE(@"SEL$19" "WBS"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "FIN_PLAN"@"SEL$19"HASH HASH)
                  PQ_DISTRIBUTE(@"SEL$19" "TOP_SLICE"@"SEL$19"HASH HASH)
                  FULL(@"SEL$14" "PRG"@"SEL$14")
                  FULL(@"SEL$14" "WBS_HDR"@"SEL$14")
                  NO_ACCESS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$14" "PJP1"@"SEL$14")
                  LEADING(@"SEL$14" "PRG"@"SEL$14" "WBS_HDR"@"SEL$14" "FIN_PLAN"@"SEL$14" "PJP1"@"SEL$14")
                  USE_HASH(@"SEL$14" "WBS_HDR"@"SEL$14")
                  USE_HASH(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  USE_HASH(@"SEL$14" "PJP1"@"SEL$14")
                  PQ_DISTRIBUTE(@"SEL$14" "WBS_HDR"@"SEL$14"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$14" "FIN_PLAN"@"SEL$14"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$14" "PJP1"@"SEL$14"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$14" "FIN_PLAN"@"SEL$14")
                  FULL(@"SEL$3" "PRG"@"SEL$3")
                  FULL(@"SEL$3" "WBS"@"SEL$3")
                  FULL(@"SEL$3" "WBS_HDR"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  NO_ACCESS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  FULL(@"SEL$3" "PJP1"@"SEL$3")
                  LEADING(@"SEL$3" "PRG"@"SEL$3" "WBS"@"SEL$3" "WBS_HDR"@"SEL$3" "FIN_PLAN"@"SEL$3" "TOP_SLICE"@"SEL$3" "PJP1"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS"@"SEL$3")
                  USE_HASH(@"SEL$3" "WBS_HDR"@"SEL$3")
                  USE_HASH(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  USE_HASH(@"SEL$3" "TOP_SLICE"@"SEL$3")
                  USE_HASH(@"SEL$3" "PJP1"@"SEL$3")
                  PQ_DISTRIBUTE(@"SEL$3" "WBS"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "WBS_HDR"@"SEL$3"BROADCAST NONE)
                  PQ_DISTRIBUTE(@"SEL$3" "FIN_PLAN"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "TOP_SLICE"@"SEL$3"NONE BROADCAST)
                  PQ_DISTRIBUTE(@"SEL$3" "PJP1"@"SEL$3"BROADCAST NONE)
                  SWAP_JOIN_INPUTS(@"SEL$3" "FIN_PLAN"@"SEL$3")
                  SWAP_JOIN_INPUTS(@"SEL$3" "TOP_SLICE"@"SEL$3")
                END_OUTLINE_DATA
             */
               /*+ parallel(PJI_FP_AGGR_PJP1) */
  into PJI_FP_AGGR_PJP1 partition(P10)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(prg wbs wbs_hdr fin_plan top_slice pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(prg wbs_hdr fin_plan pjp1) use_hash(pjp1) parallel(pjp1) */
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 21622

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                        , partitioned
                   FROM   dba_indexes
                   WHERE  table_name = 'PJI_FP_AGGR_PJP2'
                   AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME
                   AND    status <> 'UNUSABLE') LOOP

        IF ind_lp.partitioned = 'YES' THEN

           EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION P'||g_worker_id||' UNUSABLE';
Line: 21643

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */             -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P1)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 21879

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P1)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 22061

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                 -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P2)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 22297

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P2)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 22478

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                      -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P3)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 22714

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P3)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 22895

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                   -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P4)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 23131

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P4)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 23312

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                   -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P5)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 23548

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P5)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 23729

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P6)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 23965

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P6)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 24146

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                 -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P7)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 24382

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P7)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 24563

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                      -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P8)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 24799

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P8)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 24980

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                          -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P9)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 25216

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P9)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 25397

      insert /*+ parallel(PJI_FP_AGGR_PJP2) */                        -- Added for bug 13897252
                 into PJI_FP_AGGR_PJP2 partition(P10)

      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ parallel(pjp1) */
        pjp1.WORKER_ID,
        'A'                                 RECORD_TYPE,
        0 ,             /*  pjp1.PRG_LEVEL,   6266824 sridhar commented as this is required and also impact of Merge changes */
        'AGGR_PLAN'                         LINE_TYPE,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE,
        sum(pjp1.RAW_COST)                  RAW_COST,
        sum(pjp1.BRDN_COST)                 BRDN_COST,
        sum(pjp1.REVENUE)                   REVENUE,
        sum(pjp1.BILL_RAW_COST)             BILL_RAW_COST,
        sum(pjp1.BILL_BRDN_COST)            BILL_BRDN_COST,
        sum(pjp1.BILL_LABOR_RAW_COST)       BILL_LABOR_RAW_COST,
        sum(pjp1.BILL_LABOR_BRDN_COST)      BILL_LABOR_BRDN_COST,
        sum(pjp1.BILL_LABOR_HRS)            BILL_LABOR_HRS,
        sum(pjp1.EQUIPMENT_RAW_COST)        EQUIPMENT_RAW_COST,
        sum(pjp1.EQUIPMENT_BRDN_COST)       EQUIPMENT_BRDN_COST,
        sum(pjp1.CAPITALIZABLE_RAW_COST)    CAPITALIZABLE_RAW_COST,
        sum(pjp1.CAPITALIZABLE_BRDN_COST)   CAPITALIZABLE_BRDN_COST,
        sum(pjp1.LABOR_RAW_COST)            LABOR_RAW_COST,
        sum(pjp1.LABOR_BRDN_COST)           LABOR_BRDN_COST,
        sum(pjp1.LABOR_HRS)                 LABOR_HRS,
        sum(pjp1.LABOR_REVENUE)             LABOR_REVENUE,
        sum(pjp1.EQUIPMENT_HOURS)           EQUIPMENT_HOURS,
        sum(pjp1.BILLABLE_EQUIPMENT_HOURS)  BILLABLE_EQUIPMENT_HOURS,
        sum(pjp1.SUP_INV_COMMITTED_COST)    SUP_INV_COMMITTED_COST,
        sum(pjp1.PO_COMMITTED_COST)         PO_COMMITTED_COST,
        sum(pjp1.PR_COMMITTED_COST)         PR_COMMITTED_COST,
        sum(pjp1.OTH_COMMITTED_COST)        OTH_COMMITTED_COST,
        sum(pjp1.ACT_LABOR_HRS)             ACT_LABOR_HRS,
        sum(pjp1.ACT_EQUIP_HRS)             ACT_EQUIP_HRS,
        sum(pjp1.ACT_LABOR_BRDN_COST)       ACT_LABOR_BRDN_COST,
        sum(pjp1.ACT_EQUIP_BRDN_COST)       ACT_EQUIP_BRDN_COST,
        sum(pjp1.ACT_BRDN_COST)             ACT_BRDN_COST,
        sum(pjp1.ACT_RAW_COST)              ACT_RAW_COST,
        sum(pjp1.ACT_REVENUE)               ACT_REVENUE,
        sum(pjp1.ACT_LABOR_RAW_COST)        ACT_LABOR_RAW_COST,
        sum(pjp1.ACT_EQUIP_RAW_COST)        ACT_EQUIP_RAW_COST,
        sum(pjp1.ETC_LABOR_HRS)             ETC_LABOR_HRS,
        sum(pjp1.ETC_EQUIP_HRS)             ETC_EQUIP_HRS,
        sum(pjp1.ETC_LABOR_BRDN_COST)       ETC_LABOR_BRDN_COST,
        sum(pjp1.ETC_EQUIP_BRDN_COST)       ETC_EQUIP_BRDN_COST,
        sum(pjp1.ETC_BRDN_COST)             ETC_BRDN_COST,
        sum(pjp1.ETC_RAW_COST)              ETC_RAW_COST,
        sum(pjp1.ETC_LABOR_RAW_COST)        ETC_LABOR_RAW_COST,
        sum(pjp1.ETC_EQUIP_RAW_COST)        ETC_EQUIP_RAW_COST,
        sum(pjp1.CUSTOM1)                   CUSTOM1,
        sum(pjp1.CUSTOM2)                   CUSTOM2,
        sum(pjp1.CUSTOM3)                   CUSTOM3,
        sum(pjp1.CUSTOM4)                   CUSTOM4,
        sum(pjp1.CUSTOM5)                   CUSTOM5,
        sum(pjp1.CUSTOM6)                   CUSTOM6,
        sum(pjp1.CUSTOM7)                   CUSTOM7,
        sum(pjp1.CUSTOM8)                   CUSTOM8,
        sum(pjp1.CUSTOM9)                   CUSTOM9,
        sum(pjp1.CUSTOM10)                  CUSTOM10,
        sum(pjp1.CUSTOM11)                  CUSTOM11,
        sum(pjp1.CUSTOM12)                  CUSTOM12,
        sum(pjp1.CUSTOM13)                  CUSTOM13,
        sum(pjp1.CUSTOM14)                  CUSTOM14,
        sum(pjp1.CUSTOM15)                  CUSTOM15
      from
        PJI_FP_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
 /*     pjp1.PRG_LEVEL,     -- 6266824 sridhar not required and also impact of merge change */
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.RBS_AGGR_LEVEL,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        pjp1.RBS_ELEMENT_ID,
        pjp1.RBS_VERSION_ID,
        pjp1.PLAN_VERSION_ID,
        pjp1.PLAN_TYPE_ID,
        pjp1.PLAN_TYPE_CODE
      having not
        (nvl(sum(pjp1.RAW_COST), 0)                 = 0 and
         nvl(sum(pjp1.BRDN_COST), 0)                = 0 and
         nvl(sum(pjp1.REVENUE), 0)                  = 0 and
         nvl(sum(pjp1.BILL_RAW_COST), 0)            = 0 and
         nvl(sum(pjp1.BILL_BRDN_COST), 0)           = 0 and
         nvl(sum(pjp1.BILL_LABOR_RAW_COST), 0)      = 0 and
         nvl(sum(pjp1.BILL_LABOR_BRDN_COST), 0)     = 0 and
         nvl(sum(pjp1.BILL_LABOR_HRS), 0)           = 0 and
         nvl(sum(pjp1.EQUIPMENT_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.EQUIPMENT_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_RAW_COST), 0)   = 0 and
         nvl(sum(pjp1.CAPITALIZABLE_BRDN_COST), 0)  = 0 and
         nvl(sum(pjp1.LABOR_RAW_COST), 0)           = 0 and
         nvl(sum(pjp1.LABOR_BRDN_COST), 0)          = 0 and
         nvl(sum(pjp1.LABOR_HRS), 0)                = 0 and
         nvl(sum(pjp1.LABOR_REVENUE), 0)            = 0 and
         nvl(sum(pjp1.EQUIPMENT_HOURS), 0)          = 0 and
         nvl(sum(pjp1.BILLABLE_EQUIPMENT_HOURS), 0) = 0 and
         nvl(sum(pjp1.SUP_INV_COMMITTED_COST), 0)   = 0 and
         nvl(sum(pjp1.PO_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.PR_COMMITTED_COST), 0)        = 0 and
         nvl(sum(pjp1.OTH_COMMITTED_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ACT_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ACT_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ACT_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ACT_REVENUE), 0)              = 0 and
         nvl(sum(pjp1.ACT_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ACT_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_LABOR_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_EQUIP_HRS), 0)            = 0 and
         nvl(sum(pjp1.ETC_LABOR_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_EQUIP_BRDN_COST), 0)      = 0 and
         nvl(sum(pjp1.ETC_BRDN_COST), 0)            = 0 and
         nvl(sum(pjp1.ETC_RAW_COST), 0)             = 0 and
         nvl(sum(pjp1.ETC_LABOR_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.ETC_EQUIP_RAW_COST), 0)       = 0 and
         nvl(sum(pjp1.CUSTOM1), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM2), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM3), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM4), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM5), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM6), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM7), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM8), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM9), 0)                  = 0 and
         nvl(sum(pjp1.CUSTOM10), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM11), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM12), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM13), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM14), 0)                 = 0 and
         nvl(sum(pjp1.CUSTOM15), 0)                 = 0);
Line: 25633

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P10)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select
        pjp1.WORKER_ID,
        'A'                                        RECORD_TYPE,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE,
        sum(pjp1.REVENUE)                          REVENUE,
        sum(pjp1.INITIAL_FUNDING_AMOUNT)           INITIAL_FUNDING_AMOUNT,
        sum(pjp1.INITIAL_FUNDING_COUNT)            INITIAL_FUNDING_COUNT,
        sum(pjp1.ADDITIONAL_FUNDING_AMOUNT)        ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp1.ADDITIONAL_FUNDING_COUNT)         ADDITIONAL_FUNDING_COUNT,
        sum(pjp1.CANCELLED_FUNDING_AMOUNT)         CANCELLED_FUNDING_AMOUNT,
        sum(pjp1.CANCELLED_FUNDING_COUNT)          CANCELLED_FUNDING_COUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_AMOUNT)        FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp1.FUNDING_ADJUSTMENT_COUNT)         FUNDING_ADJUSTMENT_COUNT,
        sum(pjp1.REVENUE_WRITEOFF)                 REVENUE_WRITEOFF,
        sum(pjp1.AR_INVOICE_AMOUNT)                AR_INVOICE_AMOUNT,
        sum(pjp1.AR_INVOICE_COUNT)                 AR_INVOICE_COUNT,
        sum(pjp1.AR_CASH_APPLIED_AMOUNT)           AR_CASH_APPLIED_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITE_OFF_AMOUNT)      AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp1.AR_INVOICE_WRITEOFF_COUNT)        AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp1.AR_CREDIT_MEMO_AMOUNT)            AR_CREDIT_MEMO_AMOUNT,
        sum(pjp1.AR_CREDIT_MEMO_COUNT)             AR_CREDIT_MEMO_COUNT,
        sum(pjp1.UNBILLED_RECEIVABLES)             UNBILLED_RECEIVABLES,
        sum(pjp1.UNEARNED_REVENUE)                 UNEARNED_REVENUE,
        sum(pjp1.AR_UNAPPR_INVOICE_AMOUNT)         AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp1.AR_UNAPPR_INVOICE_COUNT)          AR_UNAPPR_INVOICE_COUNT,
        sum(pjp1.AR_APPR_INVOICE_AMOUNT)           AR_APPR_INVOICE_AMOUNT,
        sum(pjp1.AR_APPR_INVOICE_COUNT)            AR_APPR_INVOICE_COUNT,
        sum(pjp1.AR_AMOUNT_DUE)                    AR_AMOUNT_DUE,
        sum(pjp1.AR_COUNT_DUE)                     AR_COUNT_DUE,
        sum(pjp1.AR_AMOUNT_OVERDUE)                AR_AMOUNT_OVERDUE,
        sum(pjp1.AR_COUNT_OVERDUE)                 AR_COUNT_OVERDUE,
        sum(pjp1.CUSTOM1)                          CUSTOM1,
        sum(pjp1.CUSTOM2)                          CUSTOM2,
        sum(pjp1.CUSTOM3)                          CUSTOM3,
        sum(pjp1.CUSTOM4)                          CUSTOM4,
        sum(pjp1.CUSTOM5)                          CUSTOM5,
        sum(pjp1.CUSTOM6)                          CUSTOM6,
        sum(pjp1.CUSTOM7)                          CUSTOM7,
        sum(pjp1.CUSTOM8)                          CUSTOM8,
        sum(pjp1.CUSTOM9)                          CUSTOM9,
        sum(pjp1.CUSTOM10)                         CUSTOM10,
        sum(pjp1.CUSTOM11)                         CUSTOM11,
        sum(pjp1.CUSTOM12)                         CUSTOM12,
        sum(pjp1.CUSTOM13)                         CUSTOM13,
        sum(pjp1.CUSTOM14)                         CUSTOM14,
        sum(pjp1.CUSTOM15)                         CUSTOM15
      from
        PJI_AC_AGGR_PJP1 pjp1
      where
        pjp1.WORKER_ID = p_worker_id
      group by
        pjp1.WORKER_ID,
        pjp1.PRG_LEVEL,
        pjp1.PROJECT_ID,
        pjp1.PROJECT_ORG_ID,
        pjp1.PROJECT_ORGANIZATION_ID,
        pjp1.PROJECT_ELEMENT_ID,
        pjp1.TIME_ID,
        pjp1.PERIOD_TYPE_ID,
        pjp1.CALENDAR_TYPE,
        pjp1.WBS_ROLLUP_FLAG,
        pjp1.PRG_ROLLUP_FLAG,
        pjp1.CURR_RECORD_TYPE_ID,
        pjp1.CURRENCY_CODE
      having not
        (nvl(sum(REVENUE), 0)                     = 0 and
         nvl(sum(INITIAL_FUNDING_AMOUNT), 0)      = 0 and
         nvl(sum(INITIAL_FUNDING_COUNT), 0)       = 0 and
         nvl(sum(ADDITIONAL_FUNDING_AMOUNT), 0)   = 0 and
         nvl(sum(ADDITIONAL_FUNDING_COUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_AMOUNT), 0)    = 0 and
         nvl(sum(CANCELLED_FUNDING_COUNT), 0)     = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_AMOUNT), 0)   = 0 and
         nvl(sum(FUNDING_ADJUSTMENT_COUNT), 0)    = 0 and
         nvl(sum(REVENUE_WRITEOFF), 0)            = 0 and
         nvl(sum(AR_INVOICE_AMOUNT), 0)           = 0 and
         nvl(sum(AR_INVOICE_COUNT), 0)            = 0 and
         nvl(sum(AR_CASH_APPLIED_AMOUNT), 0)      = 0 and
         nvl(sum(AR_INVOICE_WRITE_OFF_AMOUNT), 0) = 0 and
         nvl(sum(AR_INVOICE_WRITEOFF_COUNT), 0)   = 0 and
         nvl(sum(AR_CREDIT_MEMO_AMOUNT), 0)       = 0 and
         nvl(sum(AR_CREDIT_MEMO_COUNT), 0)        = 0 and
         nvl(sum(UNBILLED_RECEIVABLES), 0)        = 0 and
         nvl(sum(UNEARNED_REVENUE), 0)            = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_AMOUNT), 0)    = 0 and
         nvl(sum(AR_UNAPPR_INVOICE_COUNT), 0)     = 0 and
         nvl(sum(AR_APPR_INVOICE_AMOUNT), 0)      = 0 and
         nvl(sum(AR_APPR_INVOICE_COUNT), 0)       = 0 and
         nvl(sum(AR_AMOUNT_DUE), 0)               = 0 and
         nvl(sum(AR_COUNT_DUE), 0)                = 0 and
         nvl(sum(AR_AMOUNT_OVERDUE), 0)           = 0 and
         nvl(sum(AR_COUNT_OVERDUE), 0)            = 0 and
         nvl(sum(CUSTOM1), 0)                     = 0 and
         nvl(sum(CUSTOM2), 0)                     = 0 and
         nvl(sum(CUSTOM3), 0)                     = 0 and
         nvl(sum(CUSTOM4), 0)                     = 0 and
         nvl(sum(CUSTOM5), 0)                     = 0 and
         nvl(sum(CUSTOM6), 0)                     = 0 and
         nvl(sum(CUSTOM7), 0)                     = 0 and
         nvl(sum(CUSTOM8), 0)                     = 0 and
         nvl(sum(CUSTOM9), 0)                     = 0 and
         nvl(sum(CUSTOM10), 0)                    = 0 and
         nvl(sum(CUSTOM11), 0)                    = 0 and
         nvl(sum(CUSTOM12), 0)                    = 0 and
         nvl(sum(CUSTOM13), 0)                    = 0 and
         nvl(sum(CUSTOM14), 0)                    = 0 and
         nvl(sum(CUSTOM15), 0)                    = 0);
Line: 25817

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_FP_AGGR_PJP2'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP

      IF ind_lp.partitioned = 'YES' THEN
       EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';
Line: 25837

    FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                           , partitioned
                      FROM   dba_indexes
                      WHERE  table_name = 'PJI_FP_AGGR_PJP2'
                      AND    table_owner = PJI_UTILS.GET_PJI_SCHEMA_NAME) LOOP

        IF ind_lp.partitioned = 'YES' THEN
         EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION P'||g_worker_id||' PARALLEL';