DBA Data[Home] [Help]

APPS.PJI_PROCESS_UTIL SQL Statements

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

Line: 15

PROCEDURE UPDATE_BATCH_CONC_STATUS_420;
Line: 54

                             select PJI_RM_SUM_MAIN.g_process
                             into   :l_stage2_pji_process
                             from   DUAL;
Line: 86

        select VALUE
        into   l_permanent_param
        from   PJI_SYSTEM_PARAMETERS
        where  NAME like 'LAST_PJP_EXTR_DATE%' and
               ROWNUM = 1;
Line: 100

        select VALUE
        into   l_running_param
        from   PJI_SYSTEM_PARAMETERS
        where  NAME like PJI_PJP_SUM_MAIN.g_process || '%PROCESS_RUNNING' and
               ROWNUM = 1;
Line: 172

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

    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: 194

      update PJI_SYSTEM_PRC_STATUS
      set    START_DATE = sysdate
      where  PROCESS_NAME = p_process and
             STEP_NAME    = p_step and
             START_DATE   is null;
Line: 249

    update PJI_SYSTEM_PRC_STATUS
    set    STEP_STATUS = 'C',
           END_DATE = sysdate
    where  PROCESS_NAME = p_process and
           STEP_NAME    = p_step;
Line: 305

    delete
    from   PJI_SYSTEM_PRC_STATUS
    where  PROCESS_NAME = p_process;
Line: 309

    delete
    from   PJI_SYSTEM_PARAMETERS
    where  NAME like p_process || '$%';
Line: 386

    insert into PJI_SYSTEM_PRC_STATUS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_STATUS,
      STEP_SEQ
    )
    select
      p_process,
      STEP_NAME,
      null,
      STEP_SEQ
    from
      PJI_MT_PRC_STEPS
    where
      PROCESS_NAME = p_step_process                                       and
      ((CONFIG_PROJ_PERF_FLAG = 'Y' and l_params_proj_perf_flag = 'Y') or
       (CONFIG_COST_FLAG      = 'Y' and l_params_cost_flag      = 'Y') or
       (CONFIG_PROFIT_FLAG    = 'Y' and l_params_profit_flag    = 'Y') or
       (CONFIG_UTIL_FLAG      = 'Y' and l_params_util_flag      = 'Y') or
       p_step_process = 'PJI_PJP_FPM_UPGRADE')   and
      bitand(to_number(STEP_TYPE), l_extraction_type) = l_extraction_type and
      (STEP_NAME,
       STEP_SEQ) not in (select STEP_NAME,
                                STEP_SEQ
                         from   PJI_SYSTEM_PRC_STATUS
                         where  PROCESS_NAME = p_process);
Line: 431

    select count(*)
    into   l_count
    from   PJI_SYSTEM_PRC_STATUS
    where  PROCESS_NAME = p_process;
Line: 515

	       FOR ind_lp IN (SELECT table_owner||'.'||index_name ind_name
                                   , partitioned
                              FROM   dba_indexes
                              WHERE  table_name = p_tablename
			      AND    table_owner = l_pji_schema) LOOP
                  IF ind_lp.partitioned = 'YES' THEN
                     EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' MODIFY PARTITION '||p_partition||' UNUSABLE';
Line: 528

                  'alter table '||p_schema||'.'||p_tablename||' truncate partition '||p_partition||' drop storage update global indexes';
Line: 530

               FOR ind_lp IN (SELECT table_owner||'.'||index_name  ind_name
                                   , partitioned
                              FROM   dba_indexes
                              WHERE  table_name = p_tablename
			      AND    table_owner = l_pji_schema) LOOP
                  IF ind_lp.partitioned = 'YES' THEN
                     EXECUTE IMMEDIATE 'ALTER INDEX '||ind_lp.ind_name||' REBUILD PARTITION '||p_partition;
Line: 583

        select count(*)
        into   l_worker_count
        from   PJI_SYSTEM_PRC_STATUS
        where  PROCESS_NAME like p_process || '%' and
               STEP_NAME = p_step;
Line: 601

      select count(*)
      into   l_worker_count
      from   PJI_SYSTEM_PRC_STATUS
      where  PROCESS_NAME like p_process || '%' and
             STEP_NAME = p_step and
             STEP_STATUS is null;
Line: 611

                             select PJI_RM_SUM_MAIN.g_process
                             into   :l_stage2_pji_process
                             from   DUAL;
Line: 677

    delete
    from   PJI_HELPER_BATCH_MAP
    where  STATUS = 'P';
Line: 758

                                         l_dev_status = 'DELETED' or
                                         l_dev_status = 'TERMINATED'))) then
        return false;
Line: 771

                                          l_dev_status = 'DELETED' or
                                          l_dev_status = 'TERMINATED'))) then
          return false;
Line: 789

          select
            ORACLE_PROCESS_ID,
            ORACLE_SESSION_ID
          into
            l_process_id,
            l_session_id
          from
            FND_CONCURRENT_REQUESTS
          where
            REQUEST_ID = l_request_id;
Line: 800

          select
            count(*)
          into
            l_count
          from
            V$PROCESS
          where
            SPID = l_process_id and
            ROWNUM = 1;
Line: 892

    select count(*)
    into   l_count
    from   PJI_MT_PRC_STEPS
    where  ROWNUM = 1;
Line: 902

    delete from PJI_MT_PRC_STEPS;
Line: 910

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_MAIN.INIT_PROCESS;',
Line: 935

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_MAIN.RUN_PROCESS;',
Line: 960

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_MAIN.WRAPUP_PROCESS;',
Line: 985

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.POPULATE_TIME_DIMENSION(p_worker_id);',
Line: 1010

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_DREV(p_worker_id);',
Line: 1035

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_EXTRACTED_DREV_PRE(p_worker_id);',
Line: 1061

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR_HELPER',
      'PJI_FM_EXTR.MARK_EXTRACTED_DREV(p_worker_id);',
Line: 1086

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_EXTRACTED_DREV_POST(p_worker_id);',
Line: 1111

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_CDL_ROWIDS(p_worker_id);',
Line: 1136

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS_PRE(p_worker_id);',
Line: 1162

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR_HELPER',
      'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS(p_worker_id);',
Line: 1187

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS_POST(p_worker_id);',
Line: 1212

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_CDL_CRDL_FULL(p_worker_id);',
Line: 1237

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_ERDL_FULL(p_worker_id);',
Line: 1262

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_CRDL_ROWIDS(p_worker_id);',
Line: 1287

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_ERDL_ROWIDS(p_worker_id);',
Line: 1312

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_CDL_AND_CRDL(p_worker_id);',
Line: 1337

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_ERDL(p_worker_id);',
Line: 1362

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_FND(p_worker_id);',
Line: 1387

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS_PRE(p_worker_id);',
Line: 1413

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR_HELPER',
      'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS(p_worker_id);',
Line: 1438

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS_POST(p_worker_id);',
Line: 1463

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_DINV(p_worker_id);',
Line: 1488

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_EXTRACTED_DINV_ROWS(p_worker_id);',
Line: 1513

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_DINVITEM(p_worker_id);',
Line: 1538

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.EXTRACT_BATCH_ARINV(p_worker_id);',
Line: 1563

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES_PRE(p_worker_id);',
Line: 1589

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR_HELPER',
      'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES(p_worker_id);',
Line: 1614

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES_POST(p_worker_id);',
Line: 1639

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_ACT.BASE_SUMMARY(p_worker_id);',
Line: 1664

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT_PRE(p_worker_id);',
Line: 1689

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR_HELPER',
      'PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT(p_worker_id);',
Line: 1714

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_CMT_EXTR.REFRESH_PROJPERF_CMT_POST(p_worker_id);',
Line: 1739

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.ORG_EXTR_INFO_TABLE(p_worker_id);',
Line: 1764

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.CURR_CONV_TABLE(p_worker_id);',
Line: 1789

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.DANGLING_FIN_ROWS(p_worker_id);',
Line: 1814

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.DANGLING_ACT_ROWS(p_worker_id);',
Line: 1839

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.PURGE_DANGLING_FIN_ROWS(p_worker_id);',
Line: 1864

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.PURGE_DANGLING_ACT_ROWS(p_worker_id);',
Line: 1889

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_CMT_EXTR.FIN_CMT_SUMMARY(p_worker_id);',
Line: 1914

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.FIN_SUMMARY(p_worker_id);',
Line: 1939

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.MOVE_DANGLING_FIN_ROWS(p_worker_id);',
Line: 1964

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.ACT_SUMMARY(p_worker_id);',
Line: 1989

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.MOVE_DANGLING_ACT_ROWS(p_worker_id);',
Line: 2014

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.RESOURCE_LOOKUP_TABLE(p_worker_id);',
Line: 2039

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.PURGE_FP_BALANCES(p_worker_id);',
Line: 2064

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.PURGE_CMT_BALANCES(p_worker_id);',
Line: 2089

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.PURGE_AC_BALANCES(p_worker_id);',
Line: 2114

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.AGGREGATE_FPR_PERIODS(p_worker_id);',
Line: 2139

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.AGGREGATE_ACR_PERIODS(p_worker_id);',
Line: 2164

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.INSERT_NEW_HEADERS(p_worker_id);',
Line: 2189

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.BALANCES_INSERT(p_worker_id);',
Line: 2214

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.BALANCES_INCR_NEW_PRJ(p_worker_id);',
Line: 2239

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.BALANCES_INSERT_CMT(p_worker_id);',
Line: 2264

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.BALANCES_INCR_NEW_PRJ_CMT(p_worker_id);',
Line: 2289

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_PSI.FORCE_SUBSEQUENT_RUN(p_worker_id);',
Line: 2314

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.AGGREGATE_RES_SLICES(p_worker_id);',
Line: 2339

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.AGGREGATE_FIN_SLICES(p_worker_id);',
Line: 2364

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.AGGREGATE_ACT_SLICES(p_worker_id);',
Line: 2389

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.FORCE_SUBSEQUENT_RUN(p_worker_id);',
Line: 2414

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_EXTR',
      'PJI_FM_SUM_EXTR.CLEANUP_WORKER(p_worker_id);',
Line: 2443

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_MAIN.INIT_PROCESS;',
Line: 2468

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_PJI_EXTRACTION_UTILS.UPDATE_PJI_RM_WORK_TYPE_INFO(p_process);',
Line: 2493

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_PJI_EXTRACTION_UTILS.UPDATE_RESOURCE_DATA(p_process);',
Line: 2518

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_MAIN.RUN_PROCESS;',
Line: 2543

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_MAIN.WRAPUP_PROCESS;',
Line: 2568

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.UPDATE_PLAN_ORG_INFO(p_worker_id);',
Line: 2593

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.EXTRACT_PLAN_VERSIONS(p_worker_id);',
Line: 2618

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.EXTRACT_BATCH_PLAN(p_worker_id);',
Line: 2643

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.SPREAD_ENT_PLANS(p_worker_id);',
Line: 2668

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.PLAN_CURR_CONV_TABLE(p_worker_id);',
Line: 2693

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.CONVERT_TO_GLOBAL_CURRENCY(p_worker_id);',
Line: 2718

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.CONVERT_TO_GLOBAL2_CURRENCY(p_worker_id);',
Line: 2743

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.CONVERT_TO_PA_PERIODS(p_worker_id);',
Line: 2768

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.CONVERT_TO_GL_PERIODS(p_worker_id);',
Line: 2793

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.CONVERT_TO_ENT_PERIODS(p_worker_id);',
Line: 2818

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.CONVERT_TO_ENTW_PERIODS(p_worker_id);',
Line: 2843

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.DANGLING_PLAN_VERSIONS(p_worker_id);',
Line: 2868

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.SUMMARIZE_EXTRACT(p_worker_id);',
Line: 2893

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.EXTRACT_UPDATED_VERSIONS(p_worker_id);',
Line: 2918

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS_PRE(p_worker_id);',
Line: 2944

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI_HELPER',
      'PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS(p_worker_id);',
Line: 2969

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS_POST(p_worker_id);',
Line: 2994

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_PLAN_EXTR.UPDATE_BATCH_STATUSES(p_worker_id);',
Line: 3019

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_PJ_PROJ_CLASS_EXTR.EXTR_PROJECT_CLASSES(p_worker_id);',
Line: 3044

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.PROCESS_DANGLING_ROWS(p_worker_id);',
Line: 3069

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.PURGE_DANGLING_ROWS(p_worker_id);',
Line: 3094

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.JOB_NONUTIL2UTIL(p_worker_id);',
Line: 3119

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.EXTRACT_BATCH_FID_ROWIDS(p_worker_id);',
Line: 3144

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.MARK_EXTRACTED_ROWS_PRE(p_worker_id);',
Line: 3170

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI_HELPER',
      'PJI_RM_SUM_EXTR.MARK_EXTRACTED_ROWS(p_worker_id);',
Line: 3195

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.MARK_EXTRACTED_ROWS_POST(p_worker_id);',
Line: 3220

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.RES_ROWID_TABLE(p_worker_id);',
Line: 3245

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.EXTRACT_BATCH_FID_FULL(p_worker_id);',
Line: 3270

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.EXTRACT_BATCH_FID(p_worker_id);',
Line: 3295

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.MOVE_DANGLING_ROWS(p_worker_id);',
Line: 3320

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.PURGE_RES_DATA(p_worker_id);',
Line: 3345

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.GET_JOB_ID_LOOKUPS(p_worker_id);',
Line: 3370

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.PROCESS_JOB_ID(p_worker_id);',
Line: 3395

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.CALC_RMS_AVL_AND_WT(p_worker_id);',
Line: 3420

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_AVL.INS_INTO_RES_STATUS(p_worker_id);',
Line: 3446

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI_HELPER',
      'PJI_RM_SUM_AVL.START_RES_AVL_CALC_R1(p_worker_id);',
Line: 3471

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_BKLG.ROWID_ACTIVITY_DATES_FIN(p_worker_id);',
Line: 3496

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_BKLG.UPDATE_ACTIVITY_DATES_FIN(p_worker_id);',
Line: 3521

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_BKLG.ROWID_ACTIVITY_DATES_ACT(p_worker_id);',
Line: 3546

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_BKLG.UPDATE_ACTIVITY_DATES_ACT(p_worker_id);',
Line: 3571

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.FIN_ROWID_TABLE(p_worker_id);',
Line: 3596

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.AGGREGATE_FIN_ET_WT_SLICES(p_worker_id);',
Line: 3621

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.PURGE_FIN_DATA(p_worker_id);',
Line: 3646

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.AGGREGATE_FIN_ET_SLICES(p_worker_id);',
Line: 3671

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.AGGREGATE_FIN_SLICES(p_worker_id);',
Line: 3696

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.ACT_ROWID_TABLE(p_worker_id);',
Line: 3721

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.AGGREGATE_ACT_SLICES(p_worker_id);',
Line: 3746

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.PURGE_ACT_DATA(p_worker_id);',
Line: 3771

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMR_CAL_EN(p_worker_id);',
Line: 3796

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMR_CAL_PA(p_worker_id);',
Line: 3821

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMR_CAL_GL(p_worker_id);',
Line: 3846

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMR_CAL_WK(p_worker_id);',
Line: 3871

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMS_CAL_EN(p_worker_id);',
Line: 3896

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMS_CAL_PA(p_worker_id);',
Line: 3921

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMS_CAL_GL(p_worker_id);',
Line: 3946

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.EXPAND_RMS_CAL_WK(p_worker_id);',
Line: 3971

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPW_CAL_EN(p_worker_id);',
Line: 3996

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPW_CAL_PA(p_worker_id);',
Line: 4021

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPW_CAL_GL(p_worker_id);',
Line: 4046

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPW_CAL_WK(p_worker_id);',
Line: 4071

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPE_CAL_EN(p_worker_id);',
Line: 4096

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPE_CAL_PA(p_worker_id);',
Line: 4121

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPE_CAL_GL(p_worker_id);',
Line: 4146

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPE_CAL_WK(p_worker_id);',
Line: 4171

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPP_CAL_EN(p_worker_id);',
Line: 4196

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPP_CAL_PA(p_worker_id);',
Line: 4221

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPP_CAL_GL(p_worker_id);',
Line: 4246

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.EXPAND_FPP_CAL_WK(p_worker_id);',
Line: 4271

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_EN(p_worker_id, ''N'');',
Line: 4296

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_PA(p_worker_id, ''N'');',
Line: 4321

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_GL(p_worker_id, ''N'');',
Line: 4346

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_WK(p_worker_id, ''N'');',
Line: 4371

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.MERGE_TMP1_INTO_RMR(p_worker_id);',
Line: 4396

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.CLEANUP_RMR(p_worker_id);',
Line: 4421

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.MERGE_TMP2_INTO_RMS(p_worker_id);',
Line: 4446

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.CLEANUP_RMS(p_worker_id);',
Line: 4471

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_AVL.UPDATE_RES_STA_FOR_RUN2(p_worker_id);',
Line: 4497

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI_HELPER',
      'PJI_RM_SUM_AVL.START_RES_AVL_CALC_R2(p_worker_id);',
Line: 4522

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_AVL.MERGE_ORG_AVL_DUR(p_worker_id);',
Line: 4547

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_AVL.MERGE_CURR_ORG_AVL(p_worker_id);',
Line: 4572

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_AVL.RES_CALC_CLEANUP(p_worker_id);',
Line: 4597

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.MERGE_FIN_INTO_FPW(p_worker_id);',
Line: 4622

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.MERGE_FIN_INTO_FPE(p_worker_id);',
Line: 4647

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.MERGE_FIN_INTO_FPP(p_worker_id);',
Line: 4672

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.MERGE_ACT_INTO_ACP(p_worker_id, ''N'');',
Line: 4697

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_BKLG.SCOPE_PROJECTS_BKLG(p_worker_id);',
Line: 4722

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_BKLG.CLEANUP_INT_TABLE(p_worker_id);',
Line: 4748

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI_HELPER',
      'PJI_FM_SUM_BKLG.PROCESS_DRMT_BKLG(p_worker_id);',
Line: 4773

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_EN(p_worker_id, ''Y'');',
Line: 4798

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_PA(p_worker_id, ''Y'');',
Line: 4823

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_GL(p_worker_id, ''Y'');',
Line: 4848

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.EXPAND_ACT_CAL_WK(p_worker_id, ''Y'');',
Line: 4873

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.MERGE_ACT_INTO_ACP(p_worker_id, ''Y'');',
Line: 4898

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.PROJECT_ORGANIZATION(p_worker_id);',
Line: 4923

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.PROJECT_ORGANIZATION(p_worker_id);',
Line: 4948

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_UTW(p_worker_id);',
Line: 4973

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_UTX(p_worker_id);',
Line: 4998

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_UTJ(p_worker_id);',
Line: 5023

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_TIME(p_worker_id);',
Line: 5048

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_TIME_DAY(p_worker_id);',
Line: 5073

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_ROLLUP_RES.REFRESH_MVIEW_TIME_TREND(p_worker_id);',
Line: 5098

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_AVL.REFRESH_AV_ORGO_F_MV(p_worker_id);',
Line: 5123

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_AVL.REFRESH_CA_ORGO_F_MV(p_worker_id);',
Line: 5148

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FWO(p_worker_id);',
Line: 5173

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FWC(p_worker_id);',
Line: 5198

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FEO(p_worker_id);',
Line: 5223

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FEC(p_worker_id);',
Line: 5248

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FPO(p_worker_id);',
Line: 5273

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_FIN.REFRESH_MVIEW_FPC(p_worker_id);',
Line: 5298

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.REFRESH_MVIEW_ACO(p_worker_id);',
Line: 5323

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_FM_SUM_ROLLUP_ACT.REFRESH_MVIEW_ACC(p_worker_id);',
Line: 5348

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJI',
      'PJI_RM_SUM_EXTR.CLEANUP_WORKER(p_worker_id);',
Line: 5377

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_MAIN.INIT_PROCESS(p_worker_id, p_run_mode);',
Line: 5402

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_MAIN.RUN_PROCESS(p_worker_id);',
Line: 5427

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_MAIN.WRAPUP_PROCESS(p_worker_id);',
Line: 5452

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.POPULATE_TIME_DIMENSION(p_worker_id);',
Line: 5477

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.CREATE_EVENTS_SNAPSHOT(p_worker_id);',
Line: 5502

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.LOCK_HEADERS(p_worker_id);',
Line: 5527

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.PROCESS_RBS_CHANGES(p_worker_id);',
Line: 5552

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_DENORM.POPULATE_XBS_DENORM(p_worker_id);',
Line: 5577

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UPDATE_XBS_DENORM_FULL(p_worker_id);',
Line: 5602

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UPDATE_PROGRAM_WBS(p_worker_id);',
Line: 5627

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.PURGE_EVENT_DATA(p_worker_id);',
Line: 5652

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UPDATE_PROGRAM_RBS(p_worker_id);',
Line: 5677

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.CREATE_MAPPING_RULES(p_worker_id);',
Line: 5702

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.MAP_RBS_HEADERS(p_worker_id);',
Line: 5727

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_DENORM.POPULATE_RBS_DENORM(p_worker_id);',
Line: 5752

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.POPULATE_XBS_DENORM_DELTA(p_worker_id);',
Line: 5777

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.POPULATE_RBS_DENORM_DELTA(p_worker_id);',
Line: 5802

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_FM_SUM_PSI.BALANCES_ROWID_TABLE(p_worker_id);',
Line: 5827

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_FM_SUM_PSI.ACT_ROWID_TABLE(p_worker_id);',
Line: 5852

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.AGGREGATE_FP_SLICES(p_worker_id);',
Line: 5877

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.AGGREGATE_AC_SLICES(p_worker_id);',
Line: 5902

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.MARK_EXTRACTED_PROJECTS(p_worker_id);',
Line: 5927

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_CUST.PJP_CUSTOM_FPR_API(p_worker_id);',
Line: 5952

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_CUST.PJP_CUSTOM_ACR_API(p_worker_id);',
Line: 5977

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.AGGREGATE_FP_CUST_SLICES(p_worker_id);',
Line: 6002

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.AGGREGATE_AC_CUST_SLICES(p_worker_id);',
Line: 6027

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.GET_PLANRES_ACTUALS(p_worker_id);',
Line: 6052

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.PULL_PLANS_FOR_PR(p_worker_id);',
Line: 6077

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.PULL_PLANS_FOR_RBS(p_worker_id);',
Line: 6102

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.PULL_DANGLING_PLANS(p_worker_id);',
Line: 6127

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.PROCESS_PENDING_PLAN_UPDATES(p_worker_id);',
Line: 6152

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_ALL(p_worker_id);',
Line: 6177

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_CAL_ALL(p_worker_id);',
Line: 6202

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_NONTP(p_worker_id);',
Line: 6227

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_PA(p_worker_id);',
Line: 6252

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_GL(p_worker_id);',
Line: 6277

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_CAL_EN(p_worker_id);',
Line: 6302

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_CAL_PA(p_worker_id);',
Line: 6327

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_CAL_GL(p_worker_id);',
Line: 6352

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_CAL_EN(p_worker_id);',
Line: 6377

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_RBS_TOP(p_worker_id);',
Line: 6402

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_WBS(p_worker_id);',
Line: 6427

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_WBS(p_worker_id);',
Line: 6452

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_PRG(p_worker_id);',
Line: 6477

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_ACR_PRG(p_worker_id);',
Line: 6502

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_RBS_SMART_SLICES(p_worker_id);',
Line: 6527

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.AGGREGATE_PLAN_DATA(p_worker_id);',
Line: 6552

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.PURGE_PLAN_DATA(p_worker_id);',
Line: 6577

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UPDATE_WBS_HDR(p_worker_id);',
Line: 6603

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.MERGE_INTO_FP_FACT(p_worker_id);',
Line: 6626

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.GET_FPR_ROWIDS(p_worker_id);',
Line: 6651

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UPDATE_FPR_ROWS(p_worker_id);',
Line: 6676

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.INSERT_FPR_ROWS(p_worker_id);',
Line: 6701

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.CLEANUP_FPR_ROWID_TABLE(p_worker_id);',
Line: 6726

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.GET_ACR_ROWIDS(p_worker_id);',
Line: 6751

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UPDATE_ACR_ROWS(p_worker_id);',
Line: 6776

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.INSERT_ACR_ROWS(p_worker_id);',
Line: 6801

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.CLEANUP_ACR_ROWID_TABLE(p_worker_id);',
Line: 6826

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UPDATE_XBS_DENORM(p_worker_id);',
Line: 6851

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UPDATE_RBS_DENORM(p_worker_id);',
Line: 6876

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.PROCESS_PENDING_EVENTS(p_worker_id);',
Line: 6901

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.GET_TASK_ROLLUP_ACTUALS(p_worker_id);',
Line: 6926

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_FM_SUM_PSI.BALANCES_UPDATE_DELTA(p_worker_id);',
Line: 6951

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_FM_SUM_PSI.BALANCES_INSERT_DELTA(p_worker_id);',
Line: 6976

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_FM_SUM_PSI.PURGE_BALANCES_CMT(p_worker_id);',
Line: 7001

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_FM_SUM_PSI.BALANCES_INSERT_DELTA_CMT(p_worker_id);',
Line: 7026

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_FM_SUM_PSI.PURGE_INCREMENTAL_BALANCES(p_worker_id);',
Line: 7051

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_FM_SUM_PSI.PURGE_BALANCES_ACT(p_worker_id);',
Line: 7076

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.UNLOCK_ALL_HEADERS(p_worker_id);',
Line: 7101

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP',
      'PJI_PJP_SUM_ROLLUP.CLEANUP(p_worker_id);',
Line: 7130

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.REMAP_RBS_TXN_ACCUM_HDRS(p_worker_id);',
Line: 7155

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_DENORM.POPULATE_RBS_DENORM(p_worker_id);',
Line: 7180

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.UPDATE_RBS_DENORM(p_worker_id);',
Line: 7205

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.POPULATE_TIME_DIMENSION(p_worker_id);',
Line: 7230

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_DENORM.POPULATE_XBS_DENORM(p_worker_id);',
Line: 7255

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.UPDATE_XBS_DENORM_FULL(p_worker_id);',
Line: 7280

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.EXTRACT_FIN_PLAN_VERS_BULK(p_worker_id);',
Line: 7305

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.POPULATE_WBS_HDR(p_worker_id);',
Line: 7330

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.POPULATE_RBS_HDR(p_worker_id);',
Line: 7355

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.RETRIEVE_OVERRIDDEN_WP_ETC(p_worker_id);',
Line: 7380

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.EXTRACT_PLAN_ETC_PRIRBS(p_worker_id);',
Line: 7405

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.EXTRACT_PLAN_AMOUNTS_PRIRBS(p_worker_id);',
Line: 7430

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.UPDATE_WBS_HDR(p_worker_id);',
Line: 7455

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_RBS_T_SLICE(p_worker_id);',
Line: 7480

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.ROLLUP_FPR_WBS(p_worker_id);',
Line: 7505

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.CREATE_FP_PA_PRI_ROLLUP(p_worker_id);',
Line: 7530

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.CREATE_FP_GL_PRI_ROLLUP(p_worker_id);',
Line: 7555

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.CREATE_FP_ALL_PRI_ROLLUP(p_worker_id);',
Line: 7580

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.INSERT_INTO_FP_FACT(p_worker_id);',
Line: 7605

    insert into PJI_MT_PRC_STEPS
    (
      PROCESS_NAME,
      STEP_NAME,
      STEP_SEQ,
      STEP_TYPE,
      CONFIG_PROJ_PERF_FLAG,
      CONFIG_COST_FLAG,
      CONFIG_PROFIT_FLAG,
      CONFIG_UTIL_FLAG
    )
    values
    (
      'PJI_PJP_FPM_UPGRADE',
      'PJI_PJP_SUM_ROLLUP.MARK_EXTRACTED_PLANS(p_worker_id);',
Line: 7697

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P1)
 	  (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 9018

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P2)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 10337

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P3)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 11655

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P4)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 12973

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P5)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 14291

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P6)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 15609

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P7)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 16927

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P8)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 18245

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P9)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 19563

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P10)
	(
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */ -- changed for bug 5927368
		 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ parallel(pjp1) */          -- changed for bug 5927368
		 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            pjp1.WORKER_ID          = p_worker_id              and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 20907

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P1)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 21489

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P2)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 22071

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P3)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 22653

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P4)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 23235

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P5)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 23817

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P6)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 24399

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P7)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 24981

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P8)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 25563

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P9)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 26145

        insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                   into PJI_AC_AGGR_PJP1 partition(P10)
        (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          REVENUE,
          INITIAL_FUNDING_AMOUNT,
          INITIAL_FUNDING_COUNT,
          ADDITIONAL_FUNDING_AMOUNT,
          ADDITIONAL_FUNDING_COUNT,
          CANCELLED_FUNDING_AMOUNT,
          CANCELLED_FUNDING_COUNT,
          FUNDING_ADJUSTMENT_AMOUNT,
          FUNDING_ADJUSTMENT_COUNT,
          REVENUE_WRITEOFF,
          AR_INVOICE_AMOUNT,
          AR_INVOICE_COUNT,
          AR_CASH_APPLIED_AMOUNT,
          AR_INVOICE_WRITE_OFF_AMOUNT,
          AR_INVOICE_WRITEOFF_COUNT,
          AR_CREDIT_MEMO_AMOUNT,
          AR_CREDIT_MEMO_COUNT,
          UNBILLED_RECEIVABLES,
          UNEARNED_REVENUE,
          AR_UNAPPR_INVOICE_AMOUNT,
          AR_UNAPPR_INVOICE_COUNT,
          AR_APPR_INVOICE_AMOUNT,
          AR_APPR_INVOICE_COUNT,
          AR_AMOUNT_DUE,
          AR_COUNT_DUE,
          AR_AMOUNT_OVERDUE,
          AR_COUNT_OVERDUE,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.REVENUE,
          pjp1_i.INITIAL_FUNDING_AMOUNT,
          pjp1_i.INITIAL_FUNDING_COUNT,
          pjp1_i.ADDITIONAL_FUNDING_AMOUNT,
          pjp1_i.ADDITIONAL_FUNDING_COUNT,
          pjp1_i.CANCELLED_FUNDING_AMOUNT,
          pjp1_i.CANCELLED_FUNDING_COUNT,
          pjp1_i.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1_i.FUNDING_ADJUSTMENT_COUNT,
          pjp1_i.REVENUE_WRITEOFF,
          pjp1_i.AR_INVOICE_AMOUNT,
          pjp1_i.AR_INVOICE_COUNT,
          pjp1_i.AR_CASH_APPLIED_AMOUNT,
          pjp1_i.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1_i.AR_INVOICE_WRITEOFF_COUNT,
          pjp1_i.AR_CREDIT_MEMO_AMOUNT,
          pjp1_i.AR_CREDIT_MEMO_COUNT,
          pjp1_i.UNBILLED_RECEIVABLES,
          pjp1_i.UNEARNED_REVENUE,
          pjp1_i.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1_i.AR_UNAPPR_INVOICE_COUNT,
          pjp1_i.AR_APPR_INVOICE_AMOUNT,
          pjp1_i.AR_APPR_INVOICE_COUNT,
          pjp1_i.AR_AMOUNT_DUE,
          pjp1_i.AR_COUNT_DUE,
          pjp1_i.AR_AMOUNT_OVERDUE,
          pjp1_i.AR_COUNT_OVERDUE,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')             INSERT_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID)                 SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID)             SUP_EMT_ID,
          p_worker_id                              WORKER_ID,
          'W'                                      RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)           PRG_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID)               PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)           PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)  PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')         WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')         PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          sum(pjp.REVENUE)                         REVENUE,
          sum(pjp.INITIAL_FUNDING_AMOUNT)          INITIAL_FUNDING_AMOUNT,
          sum(pjp.INITIAL_FUNDING_COUNT)           INITIAL_FUNDING_COUNT,
          sum(pjp.ADDITIONAL_FUNDING_AMOUNT)       ADDITIONAL_FUNDING_AMOUNT,
          sum(pjp.ADDITIONAL_FUNDING_COUNT)        ADDITIONAL_FUNDING_COUNT,
          sum(pjp.CANCELLED_FUNDING_AMOUNT)        CANCELLED_FUNDING_AMOUNT,
          sum(pjp.CANCELLED_FUNDING_COUNT)         CANCELLED_FUNDING_COUNT,
          sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)       FUNDING_ADJUSTMENT_AMOUNT,
          sum(pjp.FUNDING_ADJUSTMENT_COUNT)        FUNDING_ADJUSTMENT_COUNT,
          sum(pjp.REVENUE_WRITEOFF)                REVENUE_WRITEOFF,
          sum(pjp.AR_INVOICE_AMOUNT)               AR_INVOICE_AMOUNT,
          sum(pjp.AR_INVOICE_COUNT)                AR_INVOICE_COUNT,
          sum(pjp.AR_CASH_APPLIED_AMOUNT)          AR_CASH_APPLIED_AMOUNT,
          sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)     AR_INVOICE_WRITE_OFF_AMOUNT,
          sum(pjp.AR_INVOICE_WRITEOFF_COUNT)       AR_INVOICE_WRITEOFF_COUNT,
          sum(pjp.AR_CREDIT_MEMO_AMOUNT)           AR_CREDIT_MEMO_AMOUNT,
          sum(pjp.AR_CREDIT_MEMO_COUNT)            AR_CREDIT_MEMO_COUNT,
          sum(pjp.UNBILLED_RECEIVABLES)            UNBILLED_RECEIVABLES,
          sum(pjp.UNEARNED_REVENUE)                UNEARNED_REVENUE,
          sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)        AR_UNAPPR_INVOICE_AMOUNT,
          sum(pjp.AR_UNAPPR_INVOICE_COUNT)         AR_UNAPPR_INVOICE_COUNT,
          sum(pjp.AR_APPR_INVOICE_AMOUNT)          AR_APPR_INVOICE_AMOUNT,
          sum(pjp.AR_APPR_INVOICE_COUNT)           AR_APPR_INVOICE_COUNT,
          sum(pjp.AR_AMOUNT_DUE)                   AR_AMOUNT_DUE,
          sum(pjp.AR_COUNT_DUE)                    AR_COUNT_DUE,
          sum(pjp.AR_AMOUNT_OVERDUE)               AR_AMOUNT_OVERDUE,
          sum(pjp.AR_COUNT_OVERDUE)                AR_COUNT_OVERDUE,
          sum(pjp.CUSTOM1)                         CUSTOM1,
          sum(pjp.CUSTOM2)                         CUSTOM2,
          sum(pjp.CUSTOM3)                         CUSTOM3,
          sum(pjp.CUSTOM4)                         CUSTOM4,
          sum(pjp.CUSTOM5)                         CUSTOM5,
          sum(pjp.CUSTOM6)                         CUSTOM6,
          sum(pjp.CUSTOM7)                         CUSTOM7,
          sum(pjp.CUSTOM8)                         CUSTOM8,
          sum(pjp.CUSTOM9)                         CUSTOM9,
          sum(pjp.CUSTOM10)                        CUSTOM10,
          sum(pjp.CUSTOM11)                        CUSTOM11,
          sum(pjp.CUSTOM12)                        CUSTOM12,
          sum(pjp.CUSTOM13)                        CUSTOM13,
          sum(pjp.CUSTOM14)                        CUSTOM14,
          sum(pjp.CUSTOM15)                        CUSTOM15
        from
          (
          select /*+ ordered index(wbs PA_XBS_DENORM_N2) parallel(pjp1) */    -- changed for bug 5927368
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                      RELATIONSHIP_TYPE,
            decode(top_slice.INVERT_ID,
                   'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N'))        PUSHUP_FLAG,
            'Y'                                       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM     prg,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.WORKER_ID          =  p_worker_id                 and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ ordered parallel(pjp1) */           -- changed for bug 5927368
                 -- get incremental project level amounts from source
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            'Y'                                    PUSHUP_FLAG,
            'N'                                    INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.REVENUE,
            pjp1.INITIAL_FUNDING_AMOUNT,
            pjp1.INITIAL_FUNDING_COUNT,
            pjp1.ADDITIONAL_FUNDING_AMOUNT,
            pjp1.ADDITIONAL_FUNDING_COUNT,
            pjp1.CANCELLED_FUNDING_AMOUNT,
            pjp1.CANCELLED_FUNDING_COUNT,
            pjp1.FUNDING_ADJUSTMENT_AMOUNT,
            pjp1.FUNDING_ADJUSTMENT_COUNT,
            pjp1.REVENUE_WRITEOFF,
            pjp1.AR_INVOICE_AMOUNT,
            pjp1.AR_INVOICE_COUNT,
            pjp1.AR_CASH_APPLIED_AMOUNT,
            pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
            pjp1.AR_INVOICE_WRITEOFF_COUNT,
            pjp1.AR_CREDIT_MEMO_AMOUNT,
            pjp1.AR_CREDIT_MEMO_COUNT,
            pjp1.UNBILLED_RECEIVABLES,
            pjp1.UNEARNED_REVENUE,
            pjp1.AR_UNAPPR_INVOICE_AMOUNT,
            pjp1.AR_UNAPPR_INVOICE_COUNT,
            pjp1.AR_APPR_INVOICE_AMOUNT,
            pjp1.AR_APPR_INVOICE_COUNT,
            pjp1.AR_AMOUNT_DUE,
            pjp1.AR_COUNT_DUE,
            pjp1.AR_AMOUNT_OVERDUE,
            pjp1.AR_COUNT_OVERDUE,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_AC_AGGR_PJP1   pjp1,
            PJI_PJP_WBS_HEADER wbs_hdr,
            PJI_XBS_DENORM     prg
          where
            prg.STRUCT_TYPE         = 'PRG'                              and
            prg.SUP_LEVEL           = l_level                            and
            prg.SUB_LEVEL           = l_level                            and
            pjp1.WORKER_ID          = p_worker_id                        and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID                 and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID                     and
            pjp1.PRG_LEVEL          = 0                                  and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                                and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                                and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID                    and
            wbs_hdr.PLAN_VERSION_ID = -1                                 and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID
          union all
          select /*+ ordered
                     index(fpr PJI_AC_XBR_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            wbs_hdr.WBS_VERSION_ID,
            'LF'                                   RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')             PUSHUP_FLAG,
            'Y'                                    INSERT_FLAG,
            acr.PROJECT_ID,
            acr.PROJECT_ORG_ID,
            acr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))
                                                   PROJECT_ELEMENT_ID,
            acr.TIME_ID,
            acr.PERIOD_TYPE_ID,
            acr.CALENDAR_TYPE,
            'Y'                                    WBS_ROLLUP_FLAG,
            acr.PRG_ROLLUP_FLAG,
            acr.CURR_RECORD_TYPE_ID,
            acr.CURRENCY_CODE,
            wbs.SIGN * acr.REVENUE                 REVENUE,
            wbs.SIGN * acr.INITIAL_FUNDING_AMOUNT  INITIAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.INITIAL_FUNDING_COUNT   INITIAL_FUNDING_COUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT
                                                   ADDITIONAL_FUNDING_AMOUNT,
            wbs.SIGN * acr.ADDITIONAL_FUNDING_COUNT
                                                   ADDITIONAL_FUNDING_COUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_AMOUNT
                                                   CANCELLED_FUNDING_AMOUNT,
            wbs.SIGN * acr.CANCELLED_FUNDING_COUNT CANCELLED_FUNDING_COUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT
                                                   FUNDING_ADJUSTMENT_AMOUNT,
            wbs.SIGN * acr.FUNDING_ADJUSTMENT_COUNT
                                                   FUNDING_ADJUSTMENT_COUNT,
            wbs.SIGN * acr.REVENUE_WRITEOFF        REVENUE_WRITEOFF,
            wbs.SIGN * acr.AR_INVOICE_AMOUNT       AR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_COUNT        AR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_CASH_APPLIED_AMOUNT  AR_CASH_APPLIED_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITE_OFF_AMOUNT
                                                   AR_INVOICE_WRITE_OFF_AMOUNT,
            wbs.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT
                                                   AR_INVOICE_WRITEOFF_COUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_AMOUNT   AR_CREDIT_MEMO_AMOUNT,
            wbs.SIGN * acr.AR_CREDIT_MEMO_COUNT    AR_CREDIT_MEMO_COUNT,
            wbs.SIGN * acr.UNBILLED_RECEIVABLES    UNBILLED_RECEIVABLES,
            wbs.SIGN * acr.UNEARNED_REVENUE        UNEARNED_REVENUE,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT
                                                   AR_UNAPPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_UNAPPR_INVOICE_COUNT AR_UNAPPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_AMOUNT  AR_APPR_INVOICE_AMOUNT,
            wbs.SIGN * acr.AR_APPR_INVOICE_COUNT   AR_APPR_INVOICE_COUNT,
            wbs.SIGN * acr.AR_AMOUNT_DUE           AR_AMOUNT_DUE,
            wbs.SIGN * acr.AR_COUNT_DUE            AR_COUNT_DUE,
            wbs.SIGN * acr.AR_AMOUNT_OVERDUE       AR_AMOUNT_OVERDUE,
            wbs.SIGN * acr.AR_COUNT_OVERDUE        AR_COUNT_OVERDUE,
            wbs.SIGN * acr.CUSTOM1                 CUSTOM1,
            wbs.SIGN * acr.CUSTOM2                 CUSTOM2,
            wbs.SIGN * acr.CUSTOM3                 CUSTOM3,
            wbs.SIGN * acr.CUSTOM4                 CUSTOM4,
            wbs.SIGN * acr.CUSTOM5                 CUSTOM5,
            wbs.SIGN * acr.CUSTOM6                 CUSTOM6,
            wbs.SIGN * acr.CUSTOM7                 CUSTOM7,
            wbs.SIGN * acr.CUSTOM8                 CUSTOM8,
            wbs.SIGN * acr.CUSTOM9                 CUSTOM9,
            wbs.SIGN * acr.CUSTOM10                CUSTOM10,
            wbs.SIGN * acr.CUSTOM11                CUSTOM11,
            wbs.SIGN * acr.CUSTOM12                CUSTOM12,
            wbs.SIGN * acr.CUSTOM13                CUSTOM13,
            wbs.SIGN * acr.CUSTOM14                CUSTOM14,
            wbs.SIGN * acr.CUSTOM15                CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_PJP_WBS_HEADER     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM         prg,
            PJI_AC_XBS_ACCUM_F     acr,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  p_worker_id                 and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.WORKER_ID           =  p_worker_id                 and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.PLAN_VERSION_ID =  -1                          and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            acr.WBS_ROLLUP_FLAG     =  'N'                         and
            acr.PRG_ROLLUP_FLAG     =  'N'                         and
            acr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            acr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            acr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            prg.RELATIONSHIP_TYPE            RELATIONSHIP_TYPE,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM         prg,
            PJI_XBS_DENORM_DELTA   prg_delta
          where
            prg.STRUCT_TYPE          = 'PRG'                           and
            prg.RELATIONSHIP_TYPE    = 'LF'                            and
            prg.SUB_ROLLUP_ID        is not null                       and
            prg.SUB_LEVEL            = l_level                         and
            map.WORKER_ID            = p_worker_id                     and
            map.PROJECT_ID           = prg.SUP_PROJECT_ID              and
            p_worker_id              = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE          = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID       = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL            = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID               = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL            = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID               = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE    = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                       = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID is null
          ) prg
        where
          pjp.WBS_VERSION_ID    = prg.SUB_ID            (+) and
          pjp.RELATIONSHIP_TYPE = prg.RELATIONSHIP_TYPE (+) and
          pjp.PUSHUP_FLAG       = prg.PUSHUP_FLAG       (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, prg.SUP_EMT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID,
                 prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 26749

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P1)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 27794

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P2)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 28839

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P3)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 29884

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P4)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 30929

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P5)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 31974

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P6)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 33019

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P7)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 34064

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P8)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 35109

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P9)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 36154

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P10)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        LINE_TYPE,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        RBS_AGGR_LEVEL,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        RBS_ELEMENT_ID,
        RBS_VERSION_ID,
        PLAN_VERSION_ID,
        PLAN_TYPE_ID,
        PLAN_TYPE_CODE,
        RAW_COST,
        BRDN_COST,
        REVENUE,
        BILL_RAW_COST,
        BILL_BRDN_COST,
        BILL_LABOR_RAW_COST,
        BILL_LABOR_BRDN_COST,
        BILL_LABOR_HRS,
        EQUIPMENT_RAW_COST,
        EQUIPMENT_BRDN_COST,
        CAPITALIZABLE_RAW_COST,
        CAPITALIZABLE_BRDN_COST,
        LABOR_RAW_COST,
        LABOR_BRDN_COST,
        LABOR_HRS,
        LABOR_REVENUE,
        EQUIPMENT_HOURS,
        BILLABLE_EQUIPMENT_HOURS,
        SUP_INV_COMMITTED_COST,
        PO_COMMITTED_COST,
        PR_COMMITTED_COST,
        OTH_COMMITTED_COST,
        ACT_LABOR_HRS,
        ACT_EQUIP_HRS,
        ACT_LABOR_BRDN_COST,
        ACT_EQUIP_BRDN_COST,
        ACT_BRDN_COST,
        ACT_RAW_COST,
        ACT_REVENUE,
        ACT_LABOR_RAW_COST,
        ACT_EQUIP_RAW_COST,
        ETC_LABOR_HRS,
        ETC_EQUIP_HRS,
        ETC_LABOR_BRDN_COST,
        ETC_EQUIP_BRDN_COST,
        ETC_BRDN_COST,
        ETC_RAW_COST,
        ETC_LABOR_RAW_COST,
        ETC_EQUIP_RAW_COST,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                   WORKER_ID,
        'P'                                           RECORD_TYPE,
        l_level                                       PRG_LEVEL,
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID                            PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              )                                       PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              )                                       WBS_ROLLUP_FLAG,
        'Y'                                           PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE,
        sum(pjp.RAW_COST)                             RAW_COST,
        sum(pjp.BRDN_COST)                            BRDN_COST,
        sum(pjp.REVENUE)                              REVENUE,
        sum(pjp.BILL_RAW_COST)                        BILL_RAW_COST,
        sum(pjp.BILL_BRDN_COST)                       BILL_BRDN_COST,
        sum(pjp.BILL_LABOR_RAW_COST)                  BILL_LABOR_RAW_COST,
        sum(pjp.BILL_LABOR_BRDN_COST)                 BILL_LABOR_BRDN_COST,
        sum(pjp.BILL_LABOR_HRS)                       BILL_LABOR_HRS,
        sum(pjp.EQUIPMENT_RAW_COST)                   EQUIPMENT_RAW_COST,
        sum(pjp.EQUIPMENT_BRDN_COST)                  EQUIPMENT_BRDN_COST,
        sum(pjp.CAPITALIZABLE_RAW_COST)               CAPITALIZABLE_RAW_COST,
        sum(pjp.CAPITALIZABLE_BRDN_COST)              CAPITALIZABLE_BRDN_COST,
        sum(pjp.LABOR_RAW_COST)                       LABOR_RAW_COST,
        sum(pjp.LABOR_BRDN_COST)                      LABOR_BRDN_COST,
        sum(pjp.LABOR_HRS)                            LABOR_HRS,
        sum(pjp.LABOR_REVENUE)                        LABOR_REVENUE,
        sum(pjp.EQUIPMENT_HOURS)                      EQUIPMENT_HOURS,
        sum(pjp.BILLABLE_EQUIPMENT_HOURS)             BILLABLE_EQUIPMENT_HOURS,
        sum(pjp.SUP_INV_COMMITTED_COST)               SUP_INV_COMMITTED_COST,
        sum(pjp.PO_COMMITTED_COST)                    PO_COMMITTED_COST,
        sum(pjp.PR_COMMITTED_COST)                    PR_COMMITTED_COST,
        sum(pjp.OTH_COMMITTED_COST)                   OTH_COMMITTED_COST,
        sum(pjp.ACT_LABOR_HRS)                        ACT_LABOR_HRS,
        sum(pjp.ACT_EQUIP_HRS)                        ACT_EQUIP_HRS,
        sum(pjp.ACT_LABOR_BRDN_COST)                  ACT_LABOR_BRDN_COST,
        sum(pjp.ACT_EQUIP_BRDN_COST)                  ACT_EQUIP_BRDN_COST,
        sum(pjp.ACT_BRDN_COST)                        ACT_BRDN_COST,
        sum(pjp.ACT_RAW_COST)                         ACT_RAW_COST,
        sum(pjp.ACT_REVENUE)                          ACT_REVENUE,
        sum(pjp.ACT_LABOR_RAW_COST)                   ACT_LABOR_RAW_COST,
        sum(pjp.ACT_EQUIP_RAW_COST)                   ACT_EQUIP_RAW_COST,
        sum(pjp.ETC_LABOR_HRS)                        ETC_LABOR_HRS,
        sum(pjp.ETC_EQUIP_HRS)                        ETC_EQUIP_HRS,
        sum(pjp.ETC_LABOR_BRDN_COST)                  ETC_LABOR_BRDN_COST,
        sum(pjp.ETC_EQUIP_BRDN_COST)                  ETC_EQUIP_BRDN_COST,
        sum(pjp.ETC_BRDN_COST)                        ETC_BRDN_COST,
        sum(pjp.ETC_RAW_COST)                         ETC_RAW_COST,
        sum(pjp.ETC_LABOR_RAW_COST)                   ETC_LABOR_RAW_COST,
        sum(pjp.ETC_EQUIP_RAW_COST)                   ETC_EQUIP_RAW_COST,
        sum(pjp.CUSTOM1)                              CUSTOM1,
        sum(pjp.CUSTOM2)                              CUSTOM2,
        sum(pjp.CUSTOM3)                              CUSTOM3,
        sum(pjp.CUSTOM4)                              CUSTOM4,
        sum(pjp.CUSTOM5)                              CUSTOM5,
        sum(pjp.CUSTOM6)                              CUSTOM6,
        sum(pjp.CUSTOM7)                              CUSTOM7,
        sum(pjp.CUSTOM8)                              CUSTOM8,
        sum(pjp.CUSTOM9)                              CUSTOM9,
        sum(pjp.CUSTOM10)                             CUSTOM10,
        sum(pjp.CUSTOM11)                             CUSTOM11,
        sum(pjp.CUSTOM12)                             CUSTOM12,
        sum(pjp.CUSTOM13)                             CUSTOM13,
        sum(pjp.CUSTOM14)                             CUSTOM14,
        sum(pjp.CUSTOM15)                             CUSTOM15
      from
        (
        select /*+ ordered index(fpr PJI_FP_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          decode(fpr.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'FPR'                                       LINE_SOURCE,
          decode(fpr.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_VERSION_ID,
                 -4, fpr.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(fpr.PLAN_VERSION_ID,
                 -1, fpr.PLAN_TYPE_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fpr.PLAN_TYPE_ID))  SUB_PLAN_TYPE_ID,
          fpr.TIME_ID,
          fpr.PERIOD_TYPE_ID,
          fpr.CALENDAR_TYPE,
          fpr.RBS_AGGR_LEVEL,
          fpr.CURR_RECORD_TYPE_ID,
          fpr.CURRENCY_CODE,
          fpr.RBS_ELEMENT_ID,
          fpr.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, fpr.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', fpr.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          fpr.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.RAW_COST)             RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BRDN_COST)            BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.REVENUE)              REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_RAW_COST)        BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_BRDN_COST)       BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_RAW_COST)  BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_BRDN_COST) BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILL_LABOR_HRS)       BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_RAW_COST)   EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_BRDN_COST)  EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_RAW_COST)
                                                      CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.CAPITALIZABLE_BRDN_COST)
                                                      CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_RAW_COST)       LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_BRDN_COST)      LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_HRS)            LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.LABOR_REVENUE)        LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.EQUIPMENT_HOURS)      EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS)
                                                      BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.SUP_INV_COMMITTED_COST)
                                                      SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PO_COMMITTED_COST)    PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.PR_COMMITTED_COST)    PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 prg.SIGN * fpr.OTH_COMMITTED_COST)   OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_HRS)        ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_HRS)        ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_BRDN_COST)  ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_BRDN_COST)  ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_BRDN_COST)        ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_RAW_COST)         ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_REVENUE)          ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_LABOR_RAW_COST)   ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ACT_EQUIP_RAW_COST)   ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_HRS)        ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_HRS)        ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_BRDN_COST)  ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_BRDN_COST)  ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_BRDN_COST)        ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_RAW_COST)         ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_LABOR_RAW_COST)   ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 prg.SIGN * fpr.ETC_EQUIP_RAW_COST)   ETC_EQUIP_RAW_COST,
          prg.SIGN * fpr.CUSTOM1                      CUSTOM1,
          prg.SIGN * fpr.CUSTOM2                      CUSTOM2,
          prg.SIGN * fpr.CUSTOM3                      CUSTOM3,
          prg.SIGN * fpr.CUSTOM4                      CUSTOM4,
          prg.SIGN * fpr.CUSTOM5                      CUSTOM5,
          prg.SIGN * fpr.CUSTOM6                      CUSTOM6,
          prg.SIGN * fpr.CUSTOM7                      CUSTOM7,
          prg.SIGN * fpr.CUSTOM8                      CUSTOM8,
          prg.SIGN * fpr.CUSTOM9                      CUSTOM9,
          prg.SIGN * fpr.CUSTOM10                     CUSTOM10,
          prg.SIGN * fpr.CUSTOM11                     CUSTOM11,
          prg.SIGN * fpr.CUSTOM12                     CUSTOM12,
          prg.SIGN * fpr.CUSTOM13                     CUSTOM13,
          prg.SIGN * fpr.CUSTOM14                     CUSTOM14,
          prg.SIGN * fpr.CUSTOM15                     CUSTOM15
        from
          PJI_XBS_DENORM_DELTA       prg,
          PA_PROJ_ELEMENTS           prj_emt,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PJI_FP_XBS_ACCUM_F         fpr,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.WORKER_ID              =  p_worker_id                    and
          prg.STRUCT_TYPE            =  'PRG'                          and
          prg.SUP_LEVEL              =  l_level                        and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                 and
          fpr.PROJECT_ID             =  prj_emt.PROJECT_ID             and
          (((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                      ('T', 'Y', 'N'),
                                      ('T', 'N', 'Y'),
                                      ('T', 'N', 'N'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((fpr.RBS_AGGR_LEVEL,
             fpr.WBS_ROLLUP_FLAG,
             fpr.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                      ('L', 'N', 'N')) and
             fpr.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(fpr.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE          and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                 and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID             and
          decode(wbs_hdr.WP_FLAG,
                 'Y', wbs_hdr.WBS_VERSION_ID,
                      -1)            = decode(wbs_hdr.WP_FLAG,
                                              'Y', prg.SUB_ID,
                                                   -1)                 and
          wbs_hdr.PLAN_VERSION_ID    =  fpr.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  fpr.PLAN_TYPE_CODE             and
          decode(fpr.PLAN_VERSION_ID,
                 -3, fpr.PLAN_TYPE_ID,
                 -4, fpr.PLAN_TYPE_ID,
                     -1)             =  decode(fpr.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                 and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(fpr.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(fpr.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                            and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID     (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG        (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID         (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE        (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID         (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE        (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                (+)
        union all
        select /*+ ordered parallel(pjp1) */                   -- changed for bug 5927368
               -- get structure level amounts from interim
          decode(pjp1.RBS_AGGR_LEVEL,
                 'L', 'DO_NOT_ROLLUP',
                      'WBS')                          STRUCT_TYPE,
          to_char(null)                               LINE_TYPE,
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                      LINE_SOURCE,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, prg.SUB_ID,
                 -3, prg.SUB_ID,
                 -4, prg.SUB_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  prg.SUB_ID))        SUB_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'N',
                 -3, 'N',
                 -4, 'N',
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  'N'))               SUP_WP_FLAG,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_VERSION_ID,
                 -4, pjp1.PLAN_VERSION_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  fin_plan.PLAN_VERSION_ID)
                )                                     SUB_PLAN_VERSION_ID,
          decode(pjp1.PLAN_VERSION_ID,
                 -1, pjp1.PLAN_TYPE_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     decode(fin_plan.PLAN_VERSION_ID,
                            null, null,
                                  pjp1.PLAN_TYPE_ID)) SUB_PLAN_TYPE_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.RBS_AGGR_LEVEL,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.RBS_ELEMENT_ID,
          pjp1.RBS_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(wbs_hdr.PLAN_VERSION_ID,
                             -1, pjp1.PLAN_VERSION_ID,
                                 fin_plan.PLAN_VERSION_ID),
                      sup_wbs_hdr.PLAN_VERSION_ID)    PLAN_VERSION_ID,
          decode(wbs_hdr.WP_FLAG,
                 'N', pjp1.PLAN_TYPE_ID,
                      sup_wbs_hdr.PLAN_TYPE_ID)       PLAN_TYPE_ID,
          pjp1.PLAN_TYPE_CODE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.RAW_COST)                       RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BRDN_COST)                      BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.REVENUE)                        REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_RAW_COST)                  BILL_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_BRDN_COST)                 BILL_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_RAW_COST)            BILL_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_BRDN_COST)           BILL_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILL_LABOR_HRS)                 BILL_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_RAW_COST)             EQUIPMENT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_BRDN_COST)            EQUIPMENT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_RAW_COST)         CAPITALIZABLE_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.CAPITALIZABLE_BRDN_COST)        CAPITALIZABLE_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_RAW_COST)                 LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_BRDN_COST)                LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_HRS)                      LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.LABOR_REVENUE)                  LABOR_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.EQUIPMENT_HOURS)                EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.BILLABLE_EQUIPMENT_HOURS)       BILLABLE_EQUIPMENT_HOURS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.SUP_INV_COMMITTED_COST)         SUP_INV_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PO_COMMITTED_COST)              PO_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.PR_COMMITTED_COST)              PR_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sub_ver.STATUS_CODE
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y__', to_number(null),
                 'Y_Y__STRUCTURE_PUBLISHED', to_number(null),
                 pjp1.OTH_COMMITTED_COST)             OTH_COMMITTED_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_HRS)                  ACT_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_HRS)                  ACT_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_BRDN_COST)            ACT_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_BRDN_COST)            ACT_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_BRDN_COST)                  ACT_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_RAW_COST)                   ACT_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_REVENUE)                    ACT_REVENUE,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_LABOR_RAW_COST)             ACT_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ACT_EQUIP_RAW_COST)             ACT_EQUIP_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_HRS)                  ETC_LABOR_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_HRS)                  ETC_EQUIP_HRS,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_BRDN_COST)            ETC_LABOR_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_BRDN_COST)            ETC_EQUIP_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_BRDN_COST)                  ETC_BRDN_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_RAW_COST)                   ETC_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_LABOR_RAW_COST)             ETC_LABOR_RAW_COST,
          decode(wbs_hdr.WP_FLAG
                   || '_' || sup_wbs_hdr.WP_FLAG
                   || '_' || sup_ver.STATUS_CODE,
                 'Y_Y_', to_number(null),
                 pjp1.ETC_EQUIP_RAW_COST)             ETC_EQUIP_RAW_COST,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_FP_AGGR_PJP1           pjp1,
          PJI_PJP_WBS_HEADER         wbs_hdr,
          PA_PROJ_ELEMENTS           prj_emt,
          PA_XBS_DENORM              prg,
          PJI_XBS_DENORM_DELTA       prg_delta,
          PJI_PJP_WBS_HEADER         sup_wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          (
            select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID
            from DUAL union all
            select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID
            from DUAL
          ) fin_plan
        where
          prg.STRUCT_TYPE            =  'PRG'                           and
          prg.SUP_LEVEL              =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)        <> prg.SUP_EMT_ID                  and
          p_worker_id                =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE            =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID         =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL              =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID                 =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL              =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID                 =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE      =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                          =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                    and
          pjp1.WORKER_ID             =  p_worker_id                     and
          pjp1.PRG_LEVEL             in (0, prg.SUB_LEVEL)              and
          pjp1.PROJECT_ID            =  prj_emt.PROJECT_ID              and
          (((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('T', 'Y', 'Y'),
                                       ('T', 'Y', 'N'),
                                       ('T', 'N', 'Y'),
                                       ('T', 'N', 'N'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID = prg.SUB_EMT_ID) or
           ((pjp1.RBS_AGGR_LEVEL,
             pjp1.WBS_ROLLUP_FLAG,
             pjp1.PRG_ROLLUP_FLAG) in (('L', 'N', 'Y'),
                                       ('L', 'N', 'N')) and
             pjp1.PROJECT_ELEMENT_ID <> prg.SUB_EMT_ID))                and
          decode(pjp1.PLAN_VERSION_ID,
                 -1, 'LF',
                 -2, 'LF',
                 -3, 'LF',
                 -4, 'LF',
                     decode(wbs_hdr.WP_FLAG,
                            'N', 'LF',
                              'LW')) =  prg.RELATIONSHIP_TYPE           and
          prg.STRUCT_VERSION_ID      is null                            and
          prj_emt.OBJECT_TYPE        =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID    =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID     =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID         =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID    =  pjp1.PLAN_VERSION_ID            and
          wbs_hdr.PLAN_TYPE_CODE     =  pjp1.PLAN_TYPE_CODE             and
          decode(pjp1.PLAN_VERSION_ID,
                 -3, pjp1.PLAN_TYPE_ID,
                 -4, pjp1.PLAN_TYPE_ID,
                     -1)             =  decode(pjp1.PLAN_VERSION_ID,
                                               -3, wbs_hdr.PLAN_TYPE_ID,
                                               -4, wbs_hdr.PLAN_TYPE_ID,
                                                   -1)                  and
          decode(wbs_hdr.WP_FLAG,
                 'N', decode(pjp1.PLAN_VERSION_ID,
                             -1, 'Y',
                             -2, 'Y',
                             -3, 'Y',
                             -4, 'Y',
                                 decode(pjp1.RBS_AGGR_LEVEL
                                          || '_' || wbs_hdr.CB_FLAG
                                          || '_' || wbs_hdr.CO_FLAG,
                                        'L_Y_Y', 'Y',
                                        'L_N_Y', 'Y',
                                        'L_Y_N', 'Y',
                                                 'N')),
                      'Y')           =  'Y'                             and
          prg.SUP_PROJECT_ID         =  sup_wbs_hdr.PROJECT_ID      (+) and
          prg.SUP_ID                 =  sup_wbs_hdr.WBS_VERSION_ID  (+) and
          'Y'                        =  sup_wbs_hdr.WP_FLAG         (+) and
          wbs_hdr.PROJECT_ID         =  sub_ver.PROJECT_ID          (+) and
          wbs_hdr.WBS_VERSION_ID     =  sub_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sub_ver.STATUS_CODE         (+) and
          sup_wbs_hdr.PROJECT_ID     =  sup_ver.PROJECT_ID          (+) and
          sup_wbs_hdr.WBS_VERSION_ID =  sup_ver.ELEMENT_VERSION_ID  (+) and
          'STRUCTURE_PUBLISHED'      =  sup_ver.STATUS_CODE         (+) and
          wbs_hdr.CB_FLAG            =  fin_plan.CB                 (+) and
          wbs_hdr.CO_FLAG            =  fin_plan.CO                 (+)
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID           = p_worker_id                         and
        map.PROJECT_ID          = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID          = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID      = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID              = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'     = sup_fin_ver.STATUS_CODE         (+) and
        (pjp.SUP_WP_FLAG is null or
         (pjp.SUP_WP_FLAG is not null and
          (sup_fin_ver.PROJECT_ID is not null or
           sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')))                    and
        'WBS'                   = wbs.STRUCT_TYPE                 (+) and
        pjp.STRUCT_TYPE         = wbs.STRUCT_TYPE                 (+) and
        pjp.SUP_PROJECT_ID      = wbs.SUP_PROJECT_ID              (+) and
        pjp.SUP_ID              = wbs.STRUCT_VERSION_ID           (+) and
        pjp.SUB_ROLLUP_ID       = wbs.SUB_EMT_ID                  (+) and
        wbs.SUP_LEVEL           = top_slice.WBS_SUP_LEVEL         (+)
      group by
        pjp.LINE_TYPE,
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', pjp.SUB_ROLLUP_ID,
                                decode(top_slice.INVERT_ID,
                                       'PRJ', pjp.SUP_EMT_ID, wbs.SUP_EMT_ID)
              ),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        pjp.RBS_AGGR_LEVEL,
        decode(pjp.STRUCT_TYPE,
               'DO_NOT_ROLLUP', 'N',
                                decode(top_slice.INVERT_ID,
                                       'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                                          wbs.SUP_EMT_ID,
                                                          'N', 'Y'))
              ),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        pjp.RBS_ELEMENT_ID,
        pjp.RBS_VERSION_ID,
        pjp.PLAN_VERSION_ID,
        pjp.PLAN_TYPE_ID,
        pjp.PLAN_TYPE_CODE;
Line: 37221

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P1)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 37564

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P2)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 37906

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P3)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 38248

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P4)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 38590

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P5)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 38932

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P6)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 39274

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P7)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 39616

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P8)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 39958

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P9)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 40300

      insert /*+ parallel(PJI_AC_AGGR_PJP1) */
                 into PJI_AC_AGGR_PJP1 partition(P10)
      (
        WORKER_ID,
        RECORD_TYPE,
        PRG_LEVEL,
        PROJECT_ID,
        PROJECT_ORG_ID,
        PROJECT_ORGANIZATION_ID,
        PROJECT_ELEMENT_ID,
        TIME_ID,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        WBS_ROLLUP_FLAG,
        PRG_ROLLUP_FLAG,
        CURR_RECORD_TYPE_ID,
        CURRENCY_CODE,
        REVENUE,
        INITIAL_FUNDING_AMOUNT,
        INITIAL_FUNDING_COUNT,
        ADDITIONAL_FUNDING_AMOUNT,
        ADDITIONAL_FUNDING_COUNT,
        CANCELLED_FUNDING_AMOUNT,
        CANCELLED_FUNDING_COUNT,
        FUNDING_ADJUSTMENT_AMOUNT,
        FUNDING_ADJUSTMENT_COUNT,
        REVENUE_WRITEOFF,
        AR_INVOICE_AMOUNT,
        AR_INVOICE_COUNT,
        AR_CASH_APPLIED_AMOUNT,
        AR_INVOICE_WRITE_OFF_AMOUNT,
        AR_INVOICE_WRITEOFF_COUNT,
        AR_CREDIT_MEMO_AMOUNT,
        AR_CREDIT_MEMO_COUNT,
        UNBILLED_RECEIVABLES,
        UNEARNED_REVENUE,
        AR_UNAPPR_INVOICE_AMOUNT,
        AR_UNAPPR_INVOICE_COUNT,
        AR_APPR_INVOICE_AMOUNT,
        AR_APPR_INVOICE_COUNT,
        AR_AMOUNT_DUE,
        AR_COUNT_DUE,
        AR_AMOUNT_OVERDUE,
        AR_COUNT_OVERDUE,
        CUSTOM1,
        CUSTOM2,
        CUSTOM3,
        CUSTOM4,
        CUSTOM5,
        CUSTOM6,
        CUSTOM7,
        CUSTOM8,
        CUSTOM9,
        CUSTOM10,
        CUSTOM11,
        CUSTOM12,
        CUSTOM13,
        CUSTOM14,
        CUSTOM15
      )
      select /*+ no_merge(pjp) */
        p_worker_id                                WORKER_ID,
        'P'                                        RECORD_TYPE,
        l_level                                    PRG_LEVEL,
        pjp.SUP_PROJECT_ID                         PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID)                     PROJECT_ELEMENT_ID,
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y'))       WBS_ROLLUP_FLAG,
        'Y'                                        PRG_ROLLUP_FLAG,
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE,
        sum(pjp.REVENUE)                           REVENUE,
        sum(pjp.INITIAL_FUNDING_AMOUNT)            INITIAL_FUNDING_AMOUNT,
        sum(pjp.INITIAL_FUNDING_COUNT)             INITIAL_FUNDING_COUNT,
        sum(pjp.ADDITIONAL_FUNDING_AMOUNT)         ADDITIONAL_FUNDING_AMOUNT,
        sum(pjp.ADDITIONAL_FUNDING_COUNT)          ADDITIONAL_FUNDING_COUNT,
        sum(pjp.CANCELLED_FUNDING_AMOUNT)          CANCELLED_FUNDING_AMOUNT,
        sum(pjp.CANCELLED_FUNDING_COUNT)           CANCELLED_FUNDING_COUNT,
        sum(pjp.FUNDING_ADJUSTMENT_AMOUNT)         FUNDING_ADJUSTMENT_AMOUNT,
        sum(pjp.FUNDING_ADJUSTMENT_COUNT)          FUNDING_ADJUSTMENT_COUNT,
        sum(pjp.REVENUE_WRITEOFF)                  REVENUE_WRITEOFF,
        sum(pjp.AR_INVOICE_AMOUNT)                 AR_INVOICE_AMOUNT,
        sum(pjp.AR_INVOICE_COUNT)                  AR_INVOICE_COUNT,
        sum(pjp.AR_CASH_APPLIED_AMOUNT)            AR_CASH_APPLIED_AMOUNT,
        sum(pjp.AR_INVOICE_WRITE_OFF_AMOUNT)       AR_INVOICE_WRITE_OFF_AMOUNT,
        sum(pjp.AR_INVOICE_WRITEOFF_COUNT)         AR_INVOICE_WRITEOFF_COUNT,
        sum(pjp.AR_CREDIT_MEMO_AMOUNT)             AR_CREDIT_MEMO_AMOUNT,
        sum(pjp.AR_CREDIT_MEMO_COUNT)              AR_CREDIT_MEMO_COUNT,
        sum(pjp.UNBILLED_RECEIVABLES)              UNBILLED_RECEIVABLES,
        sum(pjp.UNEARNED_REVENUE)                  UNEARNED_REVENUE,
        sum(pjp.AR_UNAPPR_INVOICE_AMOUNT)          AR_UNAPPR_INVOICE_AMOUNT,
        sum(pjp.AR_UNAPPR_INVOICE_COUNT)           AR_UNAPPR_INVOICE_COUNT,
        sum(pjp.AR_APPR_INVOICE_AMOUNT)            AR_APPR_INVOICE_AMOUNT,
        sum(pjp.AR_APPR_INVOICE_COUNT)             AR_APPR_INVOICE_COUNT,
        sum(pjp.AR_AMOUNT_DUE)                     AR_AMOUNT_DUE,
        sum(pjp.AR_COUNT_DUE)                      AR_COUNT_DUE,
        sum(pjp.AR_AMOUNT_OVERDUE)                 AR_AMOUNT_OVERDUE,
        sum(pjp.AR_COUNT_OVERDUE)                  AR_COUNT_OVERDUE,
        sum(pjp.CUSTOM1)                           CUSTOM1,
        sum(pjp.CUSTOM2)                           CUSTOM2,
        sum(pjp.CUSTOM3)                           CUSTOM3,
        sum(pjp.CUSTOM4)                           CUSTOM4,
        sum(pjp.CUSTOM5)                           CUSTOM5,
        sum(pjp.CUSTOM6)                           CUSTOM6,
        sum(pjp.CUSTOM7)                           CUSTOM7,
        sum(pjp.CUSTOM8)                           CUSTOM8,
        sum(pjp.CUSTOM9)                           CUSTOM9,
        sum(pjp.CUSTOM10)                          CUSTOM10,
        sum(pjp.CUSTOM11)                          CUSTOM11,
        sum(pjp.CUSTOM12)                          CUSTOM12,
        sum(pjp.CUSTOM13)                          CUSTOM13,
        sum(pjp.CUSTOM14)                          CUSTOM14,
        sum(pjp.CUSTOM15)                          CUSTOM15
      from
        (
        select /*+ ordered index(acr PJI_AC_XBS_ACCUM_F_N1) */
               -- get structure level amounts from Reporting Lines
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'ACR'                                    LINE_SOURCE,
          prg.SUB_ID,
          acr.TIME_ID,
          acr.PERIOD_TYPE_ID,
          acr.CALENDAR_TYPE,
          acr.CURR_RECORD_TYPE_ID,
          acr.CURRENCY_CODE,
          prg.SIGN * acr.REVENUE                   REVENUE,
          prg.SIGN * acr.INITIAL_FUNDING_AMOUNT    INITIAL_FUNDING_AMOUNT,
          prg.SIGN * acr.INITIAL_FUNDING_COUNT     INITIAL_FUNDING_COUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_AMOUNT ADDITIONAL_FUNDING_AMOUNT,
          prg.SIGN * acr.ADDITIONAL_FUNDING_COUNT  ADDITIONAL_FUNDING_COUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_AMOUNT  CANCELLED_FUNDING_AMOUNT,
          prg.SIGN * acr.CANCELLED_FUNDING_COUNT   CANCELLED_FUNDING_COUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_AMOUNT FUNDING_ADJUSTMENT_AMOUNT,
          prg.SIGN * acr.FUNDING_ADJUSTMENT_COUNT  FUNDING_ADJUSTMENT_COUNT,
          prg.SIGN * acr.REVENUE_WRITEOFF          REVENUE_WRITEOFF,
          prg.SIGN * acr.AR_INVOICE_AMOUNT         AR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_COUNT          AR_INVOICE_COUNT,
          prg.SIGN * acr.AR_CASH_APPLIED_AMOUNT    AR_CASH_APPLIED_AMOUNT,
          prg.SIGN *
            acr.AR_INVOICE_WRITE_OFF_AMOUNT        AR_INVOICE_WRITE_OFF_AMOUNT,
          prg.SIGN * acr.AR_INVOICE_WRITEOFF_COUNT AR_INVOICE_WRITEOFF_COUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_AMOUNT     AR_CREDIT_MEMO_AMOUNT,
          prg.SIGN * acr.AR_CREDIT_MEMO_COUNT      AR_CREDIT_MEMO_COUNT,
          prg.SIGN * acr.UNBILLED_RECEIVABLES      UNBILLED_RECEIVABLES,
          prg.SIGN * acr.UNEARNED_REVENUE          UNEARNED_REVENUE,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_AMOUNT  AR_UNAPPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_UNAPPR_INVOICE_COUNT   AR_UNAPPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_AMOUNT    AR_APPR_INVOICE_AMOUNT,
          prg.SIGN * acr.AR_APPR_INVOICE_COUNT     AR_APPR_INVOICE_COUNT,
          prg.SIGN * acr.AR_AMOUNT_DUE             AR_AMOUNT_DUE,
          prg.SIGN * acr.AR_COUNT_DUE              AR_COUNT_DUE,
          prg.SIGN * acr.AR_AMOUNT_OVERDUE         AR_AMOUNT_OVERDUE,
          prg.SIGN * acr.AR_COUNT_OVERDUE          AR_COUNT_OVERDUE,
          prg.SIGN * acr.CUSTOM1                   CUSTOM1,
          prg.SIGN * acr.CUSTOM2                   CUSTOM2,
          prg.SIGN * acr.CUSTOM3                   CUSTOM3,
          prg.SIGN * acr.CUSTOM4                   CUSTOM4,
          prg.SIGN * acr.CUSTOM5                   CUSTOM5,
          prg.SIGN * acr.CUSTOM6                   CUSTOM6,
          prg.SIGN * acr.CUSTOM7                   CUSTOM7,
          prg.SIGN * acr.CUSTOM8                   CUSTOM8,
          prg.SIGN * acr.CUSTOM9                   CUSTOM9,
          prg.SIGN * acr.CUSTOM10                  CUSTOM10,
          prg.SIGN * acr.CUSTOM11                  CUSTOM11,
          prg.SIGN * acr.CUSTOM12                  CUSTOM12,
          prg.SIGN * acr.CUSTOM13                  CUSTOM13,
          prg.SIGN * acr.CUSTOM14                  CUSTOM14,
          prg.SIGN * acr.CUSTOM15                  CUSTOM15
        from
          PJI_XBS_DENORM_DELTA prg,
          PA_PROJ_ELEMENTS     prj_emt,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PJI_AC_XBS_ACCUM_F   acr
        where
          prg.WORKER_ID           =  p_worker_id        and
          prg.STRUCT_TYPE         =  'PRG'              and
          prg.RELATIONSHIP_TYPE   =  'LF'               and
          prg.SUP_LEVEL           =  l_level            and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID     and
          acr.WBS_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PRG_ROLLUP_FLAG     in ('Y', 'N')         and
          acr.PROJECT_ID          =  prj_emt.PROJECT_ID and
          acr.PROJECT_ELEMENT_ID  =  prg.SUB_EMT_ID     and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID     and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID and
          wbs_hdr.PLAN_VERSION_ID =  -1
        union all
        select /*+ ordered parallel(pjp1) */        -- changed for bug 5927368
               -- get program rollup amounts
          prg.SUP_PROJECT_ID,
          prg.SUP_ID,
          prg.SUP_EMT_ID,
          prg.SUB_EMT_ID,
          prg.SUB_ROLLUP_ID,
          'PJP1'                                   LINE_SOURCE,
          prg.SUB_ID,
          pjp1.TIME_ID,
          pjp1.PERIOD_TYPE_ID,
          pjp1.CALENDAR_TYPE,
          pjp1.CURR_RECORD_TYPE_ID,
          pjp1.CURRENCY_CODE,
          pjp1.REVENUE,
          pjp1.INITIAL_FUNDING_AMOUNT,
          pjp1.INITIAL_FUNDING_COUNT,
          pjp1.ADDITIONAL_FUNDING_AMOUNT,
          pjp1.ADDITIONAL_FUNDING_COUNT,
          pjp1.CANCELLED_FUNDING_AMOUNT,
          pjp1.CANCELLED_FUNDING_COUNT,
          pjp1.FUNDING_ADJUSTMENT_AMOUNT,
          pjp1.FUNDING_ADJUSTMENT_COUNT,
          pjp1.REVENUE_WRITEOFF,
          pjp1.AR_INVOICE_AMOUNT,
          pjp1.AR_INVOICE_COUNT,
          pjp1.AR_CASH_APPLIED_AMOUNT,
          pjp1.AR_INVOICE_WRITE_OFF_AMOUNT,
          pjp1.AR_INVOICE_WRITEOFF_COUNT,
          pjp1.AR_CREDIT_MEMO_AMOUNT,
          pjp1.AR_CREDIT_MEMO_COUNT,
          pjp1.UNBILLED_RECEIVABLES,
          pjp1.UNEARNED_REVENUE,
          pjp1.AR_UNAPPR_INVOICE_AMOUNT,
          pjp1.AR_UNAPPR_INVOICE_COUNT,
          pjp1.AR_APPR_INVOICE_AMOUNT,
          pjp1.AR_APPR_INVOICE_COUNT,
          pjp1.AR_AMOUNT_DUE,
          pjp1.AR_COUNT_DUE,
          pjp1.AR_AMOUNT_OVERDUE,
          pjp1.AR_COUNT_OVERDUE,
          pjp1.CUSTOM1,
          pjp1.CUSTOM2,
          pjp1.CUSTOM3,
          pjp1.CUSTOM4,
          pjp1.CUSTOM5,
          pjp1.CUSTOM6,
          pjp1.CUSTOM7,
          pjp1.CUSTOM8,
          pjp1.CUSTOM9,
          pjp1.CUSTOM10,
          pjp1.CUSTOM11,
          pjp1.CUSTOM12,
          pjp1.CUSTOM13,
          pjp1.CUSTOM14,
          pjp1.CUSTOM15
        from
          PJI_AC_AGGR_PJP1     pjp1,
          PJI_PJP_WBS_HEADER   wbs_hdr,
          PA_PROJ_ELEMENTS     prj_emt,
          PA_XBS_DENORM        prg,
          PJI_XBS_DENORM_DELTA prg_delta
        where
          prg.STRUCT_TYPE         =  'PRG'                           and
          prg.SUP_LEVEL           =  l_level                         and
          nvl(prg.SUB_ROLLUP_ID,
              prg.SUP_EMT_ID)     <> prg.SUP_EMT_ID                  and
          prg.RELATIONSHIP_TYPE   =  'LF'                            and
          p_worker_id             =  prg_delta.WORKER_ID         (+) and
          prg.STRUCT_TYPE         =  prg_delta.STRUCT_TYPE       (+) and
          prg.SUP_PROJECT_ID      =  prg_delta.SUP_PROJECT_ID    (+) and
          prg.SUP_LEVEL           =  prg_delta.SUP_LEVEL         (+) and
          prg.SUP_ID              =  prg_delta.SUP_ID            (+) and
          prg.SUB_LEVEL           =  prg_delta.SUB_LEVEL         (+) and
          prg.SUB_ID              =  prg_delta.SUB_ID            (+) and
          prg.RELATIONSHIP_TYPE   =  prg_delta.RELATIONSHIP_TYPE (+) and
          1                       =  prg_delta.SIGN              (+) and
          (prg_delta.SUP_PROJECT_ID is not null or
           (prg_delta.SUP_PROJECT_ID is null and
            pjp1.RECORD_TYPE = 'P'))                                 and
          pjp1.WORKER_ID          =  p_worker_id                     and
          pjp1.PRG_LEVEL          in (0, prg.SUB_LEVEL)              and
          pjp1.WBS_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                      and
          pjp1.PROJECT_ID         =  prj_emt.PROJECT_ID              and
          pjp1.PROJECT_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          prg.STRUCT_VERSION_ID   is null                            and
          prj_emt.OBJECT_TYPE     =  'PA_STRUCTURES'                 and
          prj_emt.PROJ_ELEMENT_ID =  prg.SUB_EMT_ID                  and
          wbs_hdr.PROJECT_ID      =  prj_emt.PROJECT_ID              and
          wbs_hdr.WBS_VERSION_ID  =  prg.SUB_ID                      and
          wbs_hdr.PROJECT_ID      =  pjp1.PROJECT_ID                 and
          wbs_hdr.PLAN_VERSION_ID =  -1
        )                          pjp,
        PJI_PJP_PROJ_BATCH_MAP     map,
        PA_PROJ_WORKPLAN_ATTR      sup_wpa,
        PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
        PA_XBS_DENORM              wbs,
        (
          select 1     WBS_SUP_LEVEL,
                 'PRJ' INVERT_ID
          from   DUAL
          union all
          select 1     WBS_SUP_LEVEL,
                 'WBS' INVERT_ID
          from   DUAL
        ) top_slice
      where
        map.WORKER_ID         =  p_worker_id                        and
        map.PROJECT_ID        = pjp.SUP_PROJECT_ID                  and
        pjp.SUP_EMT_ID        = sup_wpa.PROJ_ELEMENT_ID             and
        pjp.SUP_PROJECT_ID    = sup_fin_ver.PROJECT_ID          (+) and
        pjp.SUP_ID            = sup_fin_ver.ELEMENT_VERSION_ID  (+) and
        'STRUCTURE_WORKING'   = sup_fin_ver.STATUS_CODE         (+) and
        (sup_fin_ver.PROJECT_ID is not null or
         sup_wpa.WP_ENABLE_VERSION_FLAG = 'N')                      and
        wbs.STRUCT_TYPE       =  'WBS'                              and
        wbs.SUP_PROJECT_ID    =  map.PROJECT_ID                     and
        wbs.SUP_PROJECT_ID    =  pjp.SUP_PROJECT_ID                 and
        wbs.STRUCT_VERSION_ID =  pjp.SUP_ID                         and
        wbs.SUB_EMT_ID        =  pjp.SUB_ROLLUP_ID                  and
        wbs.SUP_LEVEL         =  top_slice.WBS_SUP_LEVEL        (+)
      group by
        pjp.SUP_PROJECT_ID,
        map.PROJECT_ORG_ID,
        map.PROJECT_ORGANIZATION_ID,
        decode(top_slice.INVERT_ID,
               'PRJ', pjp.SUP_EMT_ID,
               wbs.SUP_EMT_ID),
        pjp.TIME_ID,
        pjp.PERIOD_TYPE_ID,
        pjp.CALENDAR_TYPE,
        decode(top_slice.INVERT_ID,
               'PRJ', 'Y', decode(pjp.SUB_ROLLUP_ID,
                                  wbs.SUP_EMT_ID,
                                  'N', 'Y')),
        pjp.CURR_RECORD_TYPE_ID,
        pjp.CURRENCY_CODE;
Line: 40671

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P1)

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

      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: 41089

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P2)

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

      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: 41506

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P3)

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

      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: 41923

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P4)

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

      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: 42340

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P5)

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

      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: 42757

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P6)

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

      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: 43174

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P7)

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

      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: 43591

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P8)

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

      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: 44008

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P9)

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

      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: 44425

      insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                 into PJI_FP_AGGR_PJP1 partition(P10)

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

      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: 44870

select distinct batch_id,worker_id
from   pji_helper_420
where worker_id = PJI_PJP_FP_CURR_WRAP.GET_WORKER_ID
order by batch_id;
Line: 44885

      insert   into pji_helper_420 (worker_id, project_id,  batch_id, level_420, partial_mode_420, fpm_upgrade_420)
      (select worker_id, project_id,  ceil(ROWNUM / l_batch_size) batch_id, l_level, l_partial_mode, l_fpm_upgrade
        FROM   pji_pjp_proj_batch_map
        WHERE worker_id = g_worker_id );
Line: 44891

SELECT /*+ parallel(pji_merge_helper) */
       COUNT(DISTINCT batch_id)
       INTO l_batch_count
       FROM pji_helper_420
       where worker_id = g_worker_id;
Line: 44914

               insert into pji_batch_status_420
               (worker_id,batch_id,request_id,request_status)
               values(rec.worker_id,rec.batch_id,l_request_id,'RUNNING');
Line: 44934

               UPDATE_BATCH_CONC_STATUS_420;
Line: 44936

               select count(*) into l_run_count
               from pji_batch_status_420
               where request_status = 'RUNNING';
Line: 44954

         UPDATE_BATCH_CONC_STATUS_420;
Line: 44956

         select count(*) into l_run_count
         from pji_batch_status_420
         where request_status = 'RUNNING';
Line: 44963

      select count(*) into l_error_count
      from pji_batch_status_420
      where request_status = 'ERRORED';
Line: 44984

PROCEDURE UPDATE_BATCH_CONC_STATUS_420 IS
l_rowcount number := 0;
Line: 44992

SELECT * FROM pji_batch_status_420
WHERE  request_status = 'RUNNING';
Line: 44996

l_Batch_t.delete;
Line: 45024

         update pji_batch_status_420
         set request_status = l_Batch_t(i).request_status
         where request_id = l_Batch_t(i).request_id;
Line: 45034

end UPDATE_BATCH_CONC_STATUS_420;
Line: 45040

    l_last_update_date     date   := SYSDATE;
Line: 45041

    l_last_updated_by      NUMBER := FND_GLOBAL.USER_ID;
Line: 45044

    l_last_update_login    NUMBER := FND_GLOBAL.LOGIN_ID;
Line: 45054

      select
             worker_id,
             level_420,
             partial_mode_420,
             fpm_upgrade_420
      from   pji_helper_420
    where    batch_id = x_batch_id;
Line: 45068

insert into PJI_PJP_WBS_HEADER_T
(
 PROJECT_ID,
 PLAN_VERSION_ID,
 WBS_VERSION_ID,
 WP_FLAG,
 CB_FLAG,
 CO_FLAG,
 LOCK_FLAG,
 PLAN_TYPE_ID,
 MIN_TXN_DATE,
 MAX_TXN_DATE,
 LAST_UPDATE_DATE ,
 LAST_UPDATED_BY ,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_LOGIN,
 PLAN_TYPE_CODE)
 select
 PROJECT_ID,
 PLAN_VERSION_ID,
 WBS_VERSION_ID,
 WP_FLAG,
 CB_FLAG,
 CO_FLAG,
 LOCK_FLAG,
 PLAN_TYPE_ID,
 MIN_TXN_DATE,
 MAX_TXN_DATE,
 LAST_UPDATE_DATE ,
 LAST_UPDATED_BY ,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_LOGIN,
 PLAN_TYPE_CODE
 from PJI_PJP_WBS_HEADER a
where a.project_id in ( select b.project_id from PJI_PJP_PROJ_BATCH_MAP b
                        where b.worker_id = p_worker_id );
Line: 45107

insert into PJI_PA_XBS_DENORM_T
(STRUCT_TYPE,
 PRG_GROUP,
 STRUCT_VERSION_ID,
 SUP_PROJECT_ID,
 SUP_ID,
 SUP_EMT_ID,
 SUBRO_ID,
 SUB_ID,
 SUB_EMT_ID,
 SUP_LEVEL,
 SUB_LEVEL,
 SUB_ROLLUP_ID,
 SUB_LEAF_FLAG,
 LAST_UPDATE_DATE,
 LAST_UPDATED_BY,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_LOGIN,
 STRUCT_EMT_ID,
 RELATIONSHIP_TYPE)
 select
STRUCT_TYPE,
 PRG_GROUP,
 STRUCT_VERSION_ID,
 SUP_PROJECT_ID,
 SUP_ID,
 SUP_EMT_ID,
 SUBRO_ID,
 SUB_ID,
 SUB_EMT_ID,
 SUP_LEVEL,
 SUB_LEVEL,
 SUB_ROLLUP_ID,
 SUB_LEAF_FLAG,
 LAST_UPDATE_DATE,
 LAST_UPDATED_BY,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_LOGIN,
 STRUCT_EMT_ID,
 RELATIONSHIP_TYPE
 from PA_XBS_DENORM a
where a.STRUCT_VERSION_ID in ( select /*+ cardinality(b,1) */ b.wbs_VERSION_ID -- Hint added for bug 11694228
                               from PJI_PJP_WBS_HEADER_T b, PJI_PJP_PROJ_BATCH_MAP c
                               where c.worker_id = p_worker_id
                               and b.project_id = c.project_id)
and a.struct_type||'' = 'WBS'||'';
Line: 45158

insert into PJI_XBS_DENORM_T
(STRUCT_TYPE,
 PRG_GROUP,
 STRUCT_VERSION_ID,
 SUP_PROJECT_ID,
 SUP_ID,
 SUP_EMT_ID,
 SUBRO_ID,
 SUB_ID,
 SUB_EMT_ID,
 SUP_LEVEL,
 SUB_LEVEL,
 SUB_ROLLUP_ID,
 SUB_LEAF_FLAG,
 LAST_UPDATE_DATE,
 LAST_UPDATED_BY,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_LOGIN,
 STRUCT_EMT_ID,
 RELATIONSHIP_TYPE)
 select
STRUCT_TYPE,
 PRG_GROUP,
 STRUCT_VERSION_ID,
 SUP_PROJECT_ID,
 SUP_ID,
 SUP_EMT_ID,
 SUBRO_ID,
 SUB_ID,
 SUB_EMT_ID,
 SUP_LEVEL,
 SUB_LEVEL,
 SUB_ROLLUP_ID,
 SUB_LEAF_FLAG,
 LAST_UPDATE_DATE,
 LAST_UPDATED_BY,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_LOGIN,
 STRUCT_EMT_ID,
 RELATIONSHIP_TYPE
 from PJI_XBS_DENORM a
where a.SUP_PROJECT_ID in ( select distinct b.SUP_PROJECT_ID
                            from PJI_PA_XBS_DENORM_T b, PJI_PJP_PROJ_BATCH_MAP c
                            where c.worker_id = p_worker_id
                            and b.sup_project_id = c.project_id);
Line: 45207

insert into PJI_XBS_DENORM_T
(STRUCT_TYPE,
 PRG_GROUP,
 STRUCT_VERSION_ID,
 SUP_PROJECT_ID,
 SUP_ID,
 SUP_EMT_ID,
 SUBRO_ID,
 SUB_ID,
 SUB_EMT_ID,
 SUP_LEVEL,
 SUB_LEVEL,
 SUB_ROLLUP_ID,
 SUB_LEAF_FLAG,
 LAST_UPDATE_DATE,
 LAST_UPDATED_BY,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_LOGIN,
 STRUCT_EMT_ID,
 RELATIONSHIP_TYPE)
 select
STRUCT_TYPE,
 PRG_GROUP,
 STRUCT_VERSION_ID,
 SUP_PROJECT_ID,
 SUP_ID,
 SUP_EMT_ID,
 SUBRO_ID,
 SUB_ID,
 SUB_EMT_ID,
 SUP_LEVEL,
 SUB_LEVEL,
 SUB_ROLLUP_ID,
 SUB_LEAF_FLAG,
 LAST_UPDATE_DATE,
 LAST_UPDATED_BY,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_LOGIN,
 STRUCT_EMT_ID,
 RELATIONSHIP_TYPE
from PJI_XBS_DENORM a
where a.SUP_PROJECT_ID in ( select   b.PROJECT_ID
                            from PJI_PJP_PROJ_BATCH_MAP b
                            where b.worker_id = p_worker_id )
and not exists ( select 'x' from PJI_PJP_PROJ_BATCH_MAP c
                 where c.worker_id = p_worker_id and c.project_id = a.sup_project_id );
Line: 45257

        insert /*+ parallel(PJI_FP_AGGR_PJP1) */
                   into PJI_FP_AGGR_PJP1 partition(P1)
          (
          WORKER_ID,
          RECORD_TYPE,
          PRG_LEVEL,
          LINE_TYPE,
          PROJECT_ID,
          PROJECT_ORG_ID,
          PROJECT_ORGANIZATION_ID,
          PROJECT_ELEMENT_ID,
          TIME_ID,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          RBS_AGGR_LEVEL,
          WBS_ROLLUP_FLAG,
          PRG_ROLLUP_FLAG,
          CURR_RECORD_TYPE_ID,
          CURRENCY_CODE,
          RBS_ELEMENT_ID,
          RBS_VERSION_ID,
          PLAN_VERSION_ID,
          PLAN_TYPE_ID,
          PLAN_TYPE_CODE,
          RAW_COST,
          BRDN_COST,
          REVENUE,
          BILL_RAW_COST,
          BILL_BRDN_COST,
          BILL_LABOR_RAW_COST,
          BILL_LABOR_BRDN_COST,
          BILL_LABOR_HRS,
          EQUIPMENT_RAW_COST,
          EQUIPMENT_BRDN_COST,
          CAPITALIZABLE_RAW_COST,
          CAPITALIZABLE_BRDN_COST,
          LABOR_RAW_COST,
          LABOR_BRDN_COST,
          LABOR_HRS,
          LABOR_REVENUE,
          EQUIPMENT_HOURS,
          BILLABLE_EQUIPMENT_HOURS,
          SUP_INV_COMMITTED_COST,
          PO_COMMITTED_COST,
          PR_COMMITTED_COST,
          OTH_COMMITTED_COST,
          ACT_LABOR_HRS,
          ACT_EQUIP_HRS,
          ACT_LABOR_BRDN_COST,
          ACT_EQUIP_BRDN_COST,
          ACT_BRDN_COST,
          ACT_RAW_COST,
          ACT_REVENUE,
          ACT_LABOR_RAW_COST,
          ACT_EQUIP_RAW_COST,
          ETC_LABOR_HRS,
          ETC_EQUIP_HRS,
          ETC_LABOR_BRDN_COST,
          ETC_EQUIP_BRDN_COST,
          ETC_BRDN_COST,
          ETC_RAW_COST,
          ETC_LABOR_RAW_COST,
          ETC_EQUIP_RAW_COST,
          CUSTOM1,
          CUSTOM2,
          CUSTOM3,
          CUSTOM4,
          CUSTOM5,
          CUSTOM6,
          CUSTOM7,
          CUSTOM8,
          CUSTOM9,
          CUSTOM10,
          CUSTOM11,
          CUSTOM12,
          CUSTOM13,
          CUSTOM14,
          CUSTOM15
        )
        select
          pjp1_i.WORKER_ID,
          pjp1_i.RECORD_TYPE,
          pjp1_i.PRG_LEVEL,
          pjp1_i.LINE_TYPE,
          pjp1_i.PROJECT_ID,
          pjp1_i.PROJECT_ORG_ID,
          pjp1_i.PROJECT_ORGANIZATION_ID,
          pjp1_i.PROJECT_ELEMENT_ID,
          pjp1_i.TIME_ID,
          pjp1_i.PERIOD_TYPE_ID,
          pjp1_i.CALENDAR_TYPE,
          pjp1_i.RBS_AGGR_LEVEL,
          pjp1_i.WBS_ROLLUP_FLAG,
          pjp1_i.PRG_ROLLUP_FLAG,
          pjp1_i.CURR_RECORD_TYPE_ID,
          pjp1_i.CURRENCY_CODE,
          pjp1_i.RBS_ELEMENT_ID,
          pjp1_i.RBS_VERSION_ID,
          pjp1_i.PLAN_VERSION_ID,
          pjp1_i.PLAN_TYPE_ID,
          pjp1_i.PLAN_TYPE_CODE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.RAW_COST))                    RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BRDN_COST))                   BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.REVENUE))                     REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_RAW_COST))               BILL_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_BRDN_COST))              BILL_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_RAW_COST))         BILL_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_BRDN_COST))        BILL_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILL_LABOR_HRS))              BILL_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_RAW_COST))          EQUIPMENT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_BRDN_COST))         EQUIPMENT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_RAW_COST))      CAPITALIZABLE_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.CAPITALIZABLE_BRDN_COST))     CAPITALIZABLE_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_RAW_COST))              LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_BRDN_COST))             LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_HRS))                   LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.LABOR_REVENUE))               LABOR_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.EQUIPMENT_HOURS))             EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.BILLABLE_EQUIPMENT_HOURS))    BILLABLE_EQUIPMENT_HOURS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.SUP_INV_COMMITTED_COST))      SUP_INV_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PO_COMMITTED_COST))           PO_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.PR_COMMITTED_COST))           PR_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUB_STATUS_CODE
                   || '_' || pjp1_i.SUP_STATUS_CODE,
                 'LW_N_Y__', to_number(null),
                 decode(pjp1_i.RELATIONSHIP_TYPE
                          || '_' || pjp1_i.WBS_ROLLUP_FLAG
                          || '_' || pjp1_i.PRG_ROLLUP_FLAG
                          || '_' || pjp1_i.SUP_VER_ENABLED
                          || '_' || l_fpm_upgrade
                          || '_' || l_partial_mode,
                        'LW_N_Y_Y_C_', to_number(null),
                 pjp1_i.OTH_COMMITTED_COST))          OTH_COMMITTED_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_HRS)       ACT_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_HRS)       ACT_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_BRDN_COST) ACT_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_BRDN_COST) ACT_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_BRDN_COST)       ACT_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_RAW_COST)        ACT_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_REVENUE)         ACT_REVENUE,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_LABOR_RAW_COST)  ACT_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ACT_EQUIP_RAW_COST)  ACT_EQUIP_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_HRS)       ETC_LABOR_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_HRS)       ETC_EQUIP_HRS,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_BRDN_COST) ETC_LABOR_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_BRDN_COST) ETC_EQUIP_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_BRDN_COST)       ETC_BRDN_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_RAW_COST)        ETC_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_LABOR_RAW_COST)  ETC_LABOR_RAW_COST,
          decode(pjp1_i.RELATIONSHIP_TYPE
                   || '_' || pjp1_i.WBS_ROLLUP_FLAG
                   || '_' || pjp1_i.PRG_ROLLUP_FLAG
                   || '_' || pjp1_i.SUP_STATUS_CODE
                   || '_' || l_partial_mode,
                 'LW_N_Y__', to_number(null),
                          pjp1_i.ETC_EQUIP_RAW_COST)  ETC_EQUIP_RAW_COST,
          pjp1_i.CUSTOM1,
          pjp1_i.CUSTOM2,
          pjp1_i.CUSTOM3,
          pjp1_i.CUSTOM4,
          pjp1_i.CUSTOM5,
          pjp1_i.CUSTOM6,
          pjp1_i.CUSTOM7,
          pjp1_i.CUSTOM8,
          pjp1_i.CUSTOM9,
          pjp1_i.CUSTOM10,
          pjp1_i.CUSTOM11,
          pjp1_i.CUSTOM12,
          pjp1_i.CUSTOM13,
          pjp1_i.CUSTOM14,
          pjp1_i.CUSTOM15
        from
          (
        select
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y')                INSERT_FLAG,
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE)           SUB_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE)           SUP_STATUS_CODE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG)SUP_VER_ENABLED,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null))              SUP_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null))              SUP_EMT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null))              SUP_WP_FLAG,
          p_worker_id                                 WORKER_ID,
          'W'                                         RECORD_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL)              PRG_LEVEL,
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID)  PROJECT_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID)              PROJECT_ORG_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID)     PROJECT_ORGANIZATION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID)                   PROJECT_ELEMENT_ID,
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N')            WBS_ROLLUP_FLAG,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y')            PRG_ROLLUP_FLAG,
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)) PLAN_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID))    PLAN_TYPE_ID,
          pjp.PLAN_TYPE_CODE,
          sum(pjp.RAW_COST)                           RAW_COST,
          sum(pjp.BRDN_COST)                          BRDN_COST,
          sum(pjp.REVENUE)                            REVENUE,
          sum(pjp.BILL_RAW_COST)                      BILL_RAW_COST,
          sum(pjp.BILL_BRDN_COST)                     BILL_BRDN_COST,
          sum(pjp.BILL_LABOR_RAW_COST)                BILL_LABOR_RAW_COST,
          sum(pjp.BILL_LABOR_BRDN_COST)               BILL_LABOR_BRDN_COST,
          sum(pjp.BILL_LABOR_HRS)                     BILL_LABOR_HRS,
          sum(pjp.EQUIPMENT_RAW_COST)                 EQUIPMENT_RAW_COST,
          sum(pjp.EQUIPMENT_BRDN_COST)                EQUIPMENT_BRDN_COST,
          sum(pjp.CAPITALIZABLE_RAW_COST)             CAPITALIZABLE_RAW_COST,
          sum(pjp.CAPITALIZABLE_BRDN_COST)            CAPITALIZABLE_BRDN_COST,
          sum(pjp.LABOR_RAW_COST)                     LABOR_RAW_COST,
          sum(pjp.LABOR_BRDN_COST)                    LABOR_BRDN_COST,
          sum(pjp.LABOR_HRS)                          LABOR_HRS,
          sum(pjp.LABOR_REVENUE)                      LABOR_REVENUE,
          sum(pjp.EQUIPMENT_HOURS)                    EQUIPMENT_HOURS,
          sum(pjp.BILLABLE_EQUIPMENT_HOURS)           BILLABLE_EQUIPMENT_HOURS,
          sum(pjp.SUP_INV_COMMITTED_COST)             SUP_INV_COMMITTED_COST,
          sum(pjp.PO_COMMITTED_COST)                  PO_COMMITTED_COST,
          sum(pjp.PR_COMMITTED_COST)                  PR_COMMITTED_COST,
          sum(pjp.OTH_COMMITTED_COST)                 OTH_COMMITTED_COST,
          sum(pjp.ACT_LABOR_HRS)                      ACT_LABOR_HRS,
          sum(pjp.ACT_EQUIP_HRS)                      ACT_EQUIP_HRS,
          sum(pjp.ACT_LABOR_BRDN_COST)                ACT_LABOR_BRDN_COST,
          sum(pjp.ACT_EQUIP_BRDN_COST)                ACT_EQUIP_BRDN_COST,
          sum(pjp.ACT_BRDN_COST)                      ACT_BRDN_COST,
          sum(pjp.ACT_RAW_COST)                       ACT_RAW_COST,
          sum(pjp.ACT_REVENUE)                        ACT_REVENUE,
          sum(pjp.ACT_LABOR_RAW_COST)                 ACT_LABOR_RAW_COST,
          sum(pjp.ACT_EQUIP_RAW_COST)                 ACT_EQUIP_RAW_COST,
          sum(pjp.ETC_LABOR_HRS)                      ETC_LABOR_HRS,
          sum(pjp.ETC_EQUIP_HRS)                      ETC_EQUIP_HRS,
          sum(pjp.ETC_LABOR_BRDN_COST)                ETC_LABOR_BRDN_COST,
          sum(pjp.ETC_EQUIP_BRDN_COST)                ETC_EQUIP_BRDN_COST,
          sum(pjp.ETC_BRDN_COST)                      ETC_BRDN_COST,
          sum(pjp.ETC_RAW_COST)                       ETC_RAW_COST,
          sum(pjp.ETC_LABOR_RAW_COST)                 ETC_LABOR_RAW_COST,
          sum(pjp.ETC_EQUIP_RAW_COST)                 ETC_EQUIP_RAW_COST,
          sum(pjp.CUSTOM1)                            CUSTOM1,
          sum(pjp.CUSTOM2)                            CUSTOM2,
          sum(pjp.CUSTOM3)                            CUSTOM3,
          sum(pjp.CUSTOM4)                            CUSTOM4,
          sum(pjp.CUSTOM5)                            CUSTOM5,
          sum(pjp.CUSTOM6)                            CUSTOM6,
          sum(pjp.CUSTOM7)                            CUSTOM7,
          sum(pjp.CUSTOM8)                            CUSTOM8,
          sum(pjp.CUSTOM9)                            CUSTOM9,
          sum(pjp.CUSTOM10)                           CUSTOM10,
          sum(pjp.CUSTOM11)                           CUSTOM11,
          sum(pjp.CUSTOM12)                           CUSTOM12,
          sum(pjp.CUSTOM13)                           CUSTOM13,
          sum(pjp.CUSTOM14)                           CUSTOM14,
          sum(pjp.CUSTOM15)                           CUSTOM15
        from
          (
          select /*+ leading(helper) index(wbs PA_XBS_DENORM_N2) parallel(pjp1) use_hash(pjp1) */
                 -- get incremental task level amounts from source and
                 -- program rollup amounts from interim
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(wbs_hdr.WP_FLAG
                     || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                     || '_' || nvl(fin_plan.INVERT_ID, 'PRJ'),
                   'N_1_PRJ', 'N',
                   'N_-1_PRG', 'N',
                   decode(top_slice.INVERT_ID,
                          'PRJ', 'Y',
                          decode(wbs.SUB_LEVEL,
                                 1, 'Y', 'N')))       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(wbs_hdr.WP_FLAG
                                 || '_' || to_char(sign(pjp1.PLAN_VERSION_ID))
                                 || '_' || fin_plan.INVERT_ID,
                               'N_1_PRG', decode(top_slice.INVERT_ID,
                                                 'PRJ', 'Y',
                                                 decode(wbs.SUB_LEVEL,
                                                        1, 'Y', 'N')),
                               'N_-1_PRG', 'N',
                               decode(wbs_hdr.WP_FLAG
                                        || '_' || fin_plan.INVERT_ID
                                        || '_' || fin_plan.CB
                                        || '_' || fin_plan.CO
                                        || '_'
                                        || to_char(fin_plan.PLAN_VERSION_ID),
                                      'N_PRJ_Y_Y_-4', 'N',
                                                      'Y'))
                  )                                   INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            pjp1.PLAN_VERSION_ID)     PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_HELPER_420 helper,
            PJI_PJP_WBS_HEADER_T wbs_hdr,
            PA_XBS_DENORM      wbs,
            PJI_XBS_DENORM_T     prg,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            ((wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1) or
             (wbs.SUP_LEVEL <> wbs.SUB_LEVEL))                     and
            wbs.STRUCT_VERSION_ID   =  prg.SUP_ID                  and
            helper.project_id =        pjp1.project_id             and
            helper.batch_id   =        p_batch_id                  and
            helper.worker_id =  pjp1.worker_id                     and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            pjp1.PRG_LEVEL          in (0, l_level)                and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')                  and
            pjp1.WBS_ROLLUP_FLAG    =  'N'                         and
            pjp1.PRG_ROLLUP_FLAG    in ('Y', 'N')                  and
            pjp1.PROJECT_ID         =  wbs_hdr.PROJECT_ID          and
            pjp1.PLAN_VERSION_ID    =  wbs_hdr.PLAN_VERSION_ID     and
            pjp1.PLAN_TYPE_CODE     =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(pjp1.PLAN_VERSION_ID,
                   -3, pjp1.PLAN_TYPE_ID,
                   -4, pjp1.PLAN_TYPE_ID,
                       -1)          =  decode(pjp1.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs.STRUCT_VERSION_ID   =  wbs_hdr.WBS_VERSION_ID      and
            pjp1.PROJECT_ELEMENT_ID =  wbs.SUB_EMT_ID              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+)
          union all
          select /*+ leading(helper) parallel(pjp1) use_hash(pjp1) */
                 -- get incremental project level amounts from source
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            'Y'                                       PUSHUP_FLAG,
            decode(pjp1.RBS_AGGR_LEVEL,
                   'L', 'N',
                        decode(fin_plan.PLAN_VERSION_ID,
                               null, 'N', 'Y'))       INSERT_FLAG,
            pjp1.PROJECT_ID,
            pjp1.PROJECT_ORG_ID,
            pjp1.PROJECT_ORGANIZATION_ID,
            pjp1.PROJECT_ELEMENT_ID,
            pjp1.TIME_ID,
            pjp1.PERIOD_TYPE_ID,
            pjp1.CALENDAR_TYPE,
            pjp1.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            pjp1.PRG_ROLLUP_FLAG,
            pjp1.CURR_RECORD_TYPE_ID,
            pjp1.CURRENCY_CODE,
            pjp1.RBS_ELEMENT_ID,
            pjp1.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, pjp1.PLAN_VERSION_ID,
                               -2, pjp1.PLAN_VERSION_ID,
                               -3, pjp1.PLAN_VERSION_ID, -- won't exist
                               -4, pjp1.PLAN_VERSION_ID, -- won't exist
                                   fin_plan.PLAN_VERSION_ID),
                        pjp1.PLAN_VERSION_ID)         PLAN_VERSION_ID,
            pjp1.PLAN_TYPE_ID,
            pjp1.PLAN_TYPE_CODE,
            pjp1.RAW_COST,
            pjp1.BRDN_COST,
            pjp1.REVENUE,
            pjp1.BILL_RAW_COST,
            pjp1.BILL_BRDN_COST,
            pjp1.BILL_LABOR_RAW_COST,
            pjp1.BILL_LABOR_BRDN_COST,
            pjp1.BILL_LABOR_HRS,
            pjp1.EQUIPMENT_RAW_COST,
            pjp1.EQUIPMENT_BRDN_COST,
            pjp1.CAPITALIZABLE_RAW_COST,
            pjp1.CAPITALIZABLE_BRDN_COST,
            pjp1.LABOR_RAW_COST,
            pjp1.LABOR_BRDN_COST,
            pjp1.LABOR_HRS,
            pjp1.LABOR_REVENUE,
            pjp1.EQUIPMENT_HOURS,
            pjp1.BILLABLE_EQUIPMENT_HOURS,
            pjp1.SUP_INV_COMMITTED_COST,
            pjp1.PO_COMMITTED_COST,
            pjp1.PR_COMMITTED_COST,
            pjp1.OTH_COMMITTED_COST,
            pjp1.ACT_LABOR_HRS,
            pjp1.ACT_EQUIP_HRS,
            pjp1.ACT_LABOR_BRDN_COST,
            pjp1.ACT_EQUIP_BRDN_COST,
            pjp1.ACT_BRDN_COST,
            pjp1.ACT_RAW_COST,
            pjp1.ACT_REVENUE,
            pjp1.ACT_LABOR_RAW_COST,
            pjp1.ACT_EQUIP_RAW_COST,
            pjp1.ETC_LABOR_HRS,
            pjp1.ETC_EQUIP_HRS,
            pjp1.ETC_LABOR_BRDN_COST,
            pjp1.ETC_EQUIP_BRDN_COST,
            pjp1.ETC_BRDN_COST,
            pjp1.ETC_RAW_COST,
            pjp1.ETC_LABOR_RAW_COST,
            pjp1.ETC_EQUIP_RAW_COST,
            pjp1.CUSTOM1,
            pjp1.CUSTOM2,
            pjp1.CUSTOM3,
            pjp1.CUSTOM4,
            pjp1.CUSTOM5,
            pjp1.CUSTOM6,
            pjp1.CUSTOM7,
            pjp1.CUSTOM8,
            pjp1.CUSTOM9,
            pjp1.CUSTOM10,
            pjp1.CUSTOM11,
            pjp1.CUSTOM12,
            pjp1.CUSTOM13,
            pjp1.CUSTOM14,
            pjp1.CUSTOM15
          from
            PJI_FP_AGGR_PJP1   pjp1,
            PJI_HELPER_420     helper,  -- order in the From clause should not be changed unless recommended by perf team
            PJI_PJP_WBS_HEADER_T wbs_hdr,
            PJI_XBS_DENORM_T     prg,
            (
              select 'Y' CB_FLAG,
                     'N' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'N' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -3  PLAN_VERSION_ID
              from DUAL union all
              select 'Y' CB_FLAG,
                     'Y' CO_FLAG,
                     -4  PLAN_VERSION_ID
              from DUAL
            ) fin_plan
          where
            prg.STRUCT_TYPE         = 'PRG'                    and
            prg.SUP_LEVEL           = l_level                  and
            prg.SUB_LEVEL           = l_level                  and
            helper.project_id =        pjp1.project_id         and
            helper.worker_id =  pjp1.worker_id                 and
            helper.batch_id   =        p_batch_id               and
            pjp1.PROJECT_ID         = prg.SUP_PROJECT_ID       and
            pjp1.PROJECT_ELEMENT_ID = prg.SUP_EMT_ID           and
            pjp1.PRG_LEVEL          = 0                        and
            pjp1.RBS_AGGR_LEVEL     in ('T', 'L')              and
            pjp1.WBS_ROLLUP_FLAG    = 'N'                      and
            pjp1.PRG_ROLLUP_FLAG    = 'N'                      and
            wbs_hdr.PROJECT_ID      = pjp1.PROJECT_ID          and
            wbs_hdr.PLAN_VERSION_ID = pjp1.PLAN_VERSION_ID     and
            wbs_hdr.PLAN_TYPE_CODE  = pjp1.PLAN_TYPE_CODE      and
            decode(wbs_hdr.WP_FLAG,
                   'N', decode(pjp1.PLAN_VERSION_ID,
                               -1, 'Y',
                               -2, 'Y',
                               -3, 'Y', -- won't exist
                               -4, 'Y', -- won't exist
                                   decode(wbs_hdr.CB_FLAG || '_' ||
                                          wbs_hdr.CO_FLAG,
                                          'Y_Y', 'Y',
                                          'N_Y', 'Y',
                                          'Y_N', 'Y',
                                                 'N')),
                        'Y')        =  'Y'                     and
            wbs_hdr.WBS_VERSION_ID  = prg.SUP_ID               and
            wbs_hdr.CB_FLAG         = fin_plan.CB_FLAG     (+) and
            wbs_hdr.CO_FLAG         = fin_plan.CO_FLAG     (+)
          union all
          select /*+ ordered
                     index(fpr PJI_FP_XBS_ACCUM_F_N1) */
                 -- get delta task level amounts from Reporting Lines
            to_char(null)                             LINE_TYPE,
            wbs_hdr.WBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG, 'Y', 'LW', 'LF')  RELATIONSHIP_TYPE,
            decode(log.EVENT_TYPE,
                   'WBS_CHANGE', 'Y',
                   'WBS_PUBLISH', 'N')                PUSHUP_FLAG,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', decode(top_slice.INVERT_ID,
                                   'PRJ', 'Y',
                                   decode(wbs.SUB_LEVEL,
                                          1, 'Y', 'N')),
                   decode(wbs_hdr.WP_FLAG
                            || '_' || fin_plan.INVERT_ID
                            || '_' || fin_plan.CB
                            || '_' || fin_plan.CO
                            || '_' || to_char(fin_plan.PLAN_VERSION_ID),
                          'N_PRJ_Y_Y_-4', 'N',
                                          'Y'))       INSERT_FLAG,
            fpr.PROJECT_ID,
            fpr.PROJECT_ORG_ID,
            fpr.PROJECT_ORGANIZATION_ID,
            decode(top_slice.INVERT_ID,
                   'PRJ', prg.SUP_EMT_ID,
                          decode(wbs.SUB_LEVEL,
                                 1, prg.SUP_EMT_ID,
                                    wbs.SUP_EMT_ID))  PROJECT_ELEMENT_ID,
            fpr.TIME_ID,
            fpr.PERIOD_TYPE_ID,
            fpr.CALENDAR_TYPE,
            fpr.RBS_AGGR_LEVEL,
            'Y'                                       WBS_ROLLUP_FLAG,
            fpr.PRG_ROLLUP_FLAG,
            fpr.CURR_RECORD_TYPE_ID,
            fpr.CURRENCY_CODE,
            fpr.RBS_ELEMENT_ID,
            fpr.RBS_VERSION_ID,
            decode(wbs_hdr.WP_FLAG || '_' || fin_plan.INVERT_ID,
                   'N_PRG', fin_plan.PLAN_VERSION_ID,
                            fpr.PLAN_VERSION_ID)      PLAN_VERSION_ID,
            fpr.PLAN_TYPE_ID,
            fpr.PLAN_TYPE_CODE,
            wbs.SIGN * fpr.RAW_COST                   RAW_COST,
            wbs.SIGN * fpr.BRDN_COST                  BRDN_COST,
            wbs.SIGN * fpr.REVENUE                    REVENUE,
            wbs.SIGN * fpr.BILL_RAW_COST              BILL_RAW_COST,
            wbs.SIGN * fpr.BILL_BRDN_COST             BILL_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_RAW_COST        BILL_LABOR_RAW_COST,
            wbs.SIGN * fpr.BILL_LABOR_BRDN_COST       BILL_LABOR_BRDN_COST,
            wbs.SIGN * fpr.BILL_LABOR_HRS             BILL_LABOR_HRS,
            wbs.SIGN * fpr.EQUIPMENT_RAW_COST         EQUIPMENT_RAW_COST,
            wbs.SIGN * fpr.EQUIPMENT_BRDN_COST        EQUIPMENT_BRDN_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_RAW_COST     CAPITALIZABLE_RAW_COST,
            wbs.SIGN * fpr.CAPITALIZABLE_BRDN_COST    CAPITALIZABLE_BRDN_COST,
            wbs.SIGN * fpr.LABOR_RAW_COST             LABOR_RAW_COST,
            wbs.SIGN * fpr.LABOR_BRDN_COST            LABOR_BRDN_COST,
            wbs.SIGN * fpr.LABOR_HRS                  LABOR_HRS,
            wbs.SIGN * fpr.LABOR_REVENUE              LABOR_REVENUE,
            wbs.SIGN * fpr.EQUIPMENT_HOURS            EQUIPMENT_HOURS,
            wbs.SIGN * fpr.BILLABLE_EQUIPMENT_HOURS   BILLABLE_EQUIPMENT_HOURS,
            wbs.SIGN * fpr.SUP_INV_COMMITTED_COST     SUP_INV_COMMITTED_COST,
            wbs.SIGN * fpr.PO_COMMITTED_COST          PO_COMMITTED_COST,
            wbs.SIGN * fpr.PR_COMMITTED_COST          PR_COMMITTED_COST,
            wbs.SIGN * fpr.OTH_COMMITTED_COST         OTH_COMMITTED_COST,
            wbs.SIGN * fpr.ACT_LABOR_HRS              ACT_LABOR_HRS,
            wbs.SIGN * fpr.ACT_EQUIP_HRS              ACT_EQUIP_HRS,
            wbs.SIGN * fpr.ACT_LABOR_BRDN_COST        ACT_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ACT_EQUIP_BRDN_COST        ACT_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ACT_BRDN_COST              ACT_BRDN_COST,
            wbs.SIGN * fpr.ACT_RAW_COST               ACT_RAW_COST,
            wbs.SIGN * fpr.ACT_REVENUE                ACT_REVENUE,
            wbs.SIGN * fpr.ACT_LABOR_RAW_COST         ACT_LABOR_RAW_COST,
            wbs.SIGN * fpr.ACT_EQUIP_RAW_COST         ACT_EQUIP_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_HRS              ETC_LABOR_HRS,
            wbs.SIGN * fpr.ETC_EQUIP_HRS              ETC_EQUIP_HRS,
            wbs.SIGN * fpr.ETC_LABOR_BRDN_COST        ETC_LABOR_BRDN_COST,
            wbs.SIGN * fpr.ETC_EQUIP_BRDN_COST        ETC_EQUIP_BRDN_COST,
            wbs.SIGN * fpr.ETC_BRDN_COST              ETC_BRDN_COST,
            wbs.SIGN * fpr.ETC_RAW_COST               ETC_RAW_COST,
            wbs.SIGN * fpr.ETC_LABOR_RAW_COST         ETC_LABOR_RAW_COST,
            wbs.SIGN * fpr.ETC_EQUIP_RAW_COST         ETC_EQUIP_RAW_COST,
            wbs.SIGN * fpr.CUSTOM1                    CUSTOM1,
            wbs.SIGN * fpr.CUSTOM2                    CUSTOM2,
            wbs.SIGN * fpr.CUSTOM3                    CUSTOM3,
            wbs.SIGN * fpr.CUSTOM4                    CUSTOM4,
            wbs.SIGN * fpr.CUSTOM5                    CUSTOM5,
            wbs.SIGN * fpr.CUSTOM6                    CUSTOM6,
            wbs.SIGN * fpr.CUSTOM7                    CUSTOM7,
            wbs.SIGN * fpr.CUSTOM8                    CUSTOM8,
            wbs.SIGN * fpr.CUSTOM9                    CUSTOM9,
            wbs.SIGN * fpr.CUSTOM10                   CUSTOM10,
            wbs.SIGN * fpr.CUSTOM11                   CUSTOM11,
            wbs.SIGN * fpr.CUSTOM12                   CUSTOM12,
            wbs.SIGN * fpr.CUSTOM13                   CUSTOM13,
            wbs.SIGN * fpr.CUSTOM14                   CUSTOM14,
            wbs.SIGN * fpr.CUSTOM15                   CUSTOM15
          from
            PJI_PA_PROJ_EVENTS_LOG log,
            PJI_HELPER_420         helper,
            PJI_PJP_WBS_HEADER_T     wbs_hdr,
            PJI_XBS_DENORM_DELTA   wbs,
            PJI_XBS_DENORM_T         prg,
            PJI_FP_XBS_ACCUM_F     fpr,
            (
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'N' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'N' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -3 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRG' INVERT_ID
              from DUAL union all
              select 'Y' CB, 'Y' CO, -4 PLAN_VERSION_ID, 'PRJ' INVERT_ID
              from DUAL
            ) fin_plan,
            (
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'PRJ' INVERT_ID
              from   DUAL
              union all
              select 1     WBS_SUP_LEVEL,
                     1     WBS_SUB_LEVEL,
                     'WBS' INVERT_ID
              from   DUAL
            ) top_slice
          where
            prg.STRUCT_TYPE         =  'PRG'                       and
            prg.SUP_LEVEL           =  l_level                     and
            prg.SUB_LEVEL           =  l_level                     and
            wbs.WORKER_ID           =  helper.worker_id            and
            fpr.project_id          =  helper.project_id           and
            helper.worker_id =  log.worker_id                     and
            helper.batch_id         =  p_batch_id                  and
            wbs.STRUCT_TYPE         =  'WBS'                       and
            wbs.SUP_PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            log.EVENT_ID            =  wbs.EVENT_ID                and
            log.EVENT_TYPE          in ('WBS_CHANGE',
                                        'WBS_PUBLISH')             and
            wbs_hdr.PROJECT_ID      =  log.ATTRIBUTE1              and
            wbs_hdr.PLAN_VERSION_ID =  log.ATTRIBUTE3              and
            wbs_hdr.WBS_VERSION_ID  =  wbs.STRUCT_VERSION_ID       and
            wbs_hdr.PROJECT_ID      =  prg.SUP_PROJECT_ID          and
            wbs_hdr.WBS_VERSION_ID  =  prg.SUP_ID                  and
            fpr.RBS_AGGR_LEVEL      =  'T'                         and
            fpr.WBS_ROLLUP_FLAG     =  'N'                         and
            fpr.PRG_ROLLUP_FLAG     in ('Y', 'N')                  and
            fpr.PROJECT_ID          =  wbs.SUP_PROJECT_ID          and
            fpr.PROJECT_ELEMENT_ID  =  wbs.SUB_EMT_ID              and
            fpr.PROJECT_ID          =  wbs_hdr.PROJECT_ID          and
            fpr.PLAN_VERSION_ID     =  wbs_hdr.PLAN_VERSION_ID     and
            fpr.PLAN_TYPE_CODE      =  wbs_hdr.PLAN_TYPE_CODE      and
            decode(fpr.PLAN_VERSION_ID,
                   -3, fpr.PLAN_TYPE_ID,
                   -4, fpr.PLAN_TYPE_ID,
                       -1)          =  decode(fpr.PLAN_VERSION_ID,
                                              -3, wbs_hdr.PLAN_TYPE_ID,
                                              -4, wbs_hdr.PLAN_TYPE_ID,
                                                  -1)              and
            wbs_hdr.CB_FLAG         =  fin_plan.CB             (+) and
            wbs_hdr.CO_FLAG         =  fin_plan.CO             (+) and
            wbs.SUP_LEVEL           =  top_slice.WBS_SUP_LEVEL (+) and
            wbs.SUB_LEVEL           <> top_slice.WBS_SUB_LEVEL (+) and
            (wbs.SUP_LEVEL <> wbs.SUB_LEVEL or
             (wbs.SUP_LEVEL = 1 and
              wbs.SUB_LEVEL = 1))
          ) pjp,
          (
          select /*+ ordered */
            prg.SUP_PROJECT_ID,
            map.PROJECT_ORG_ID               SUP_PROJECT_ORG_ID,
            map.PROJECT_ORGANIZATION_ID      SUP_PROJECT_ORGANIZATION_ID,
            prg.SUP_ID,
            prg.SUP_EMT_ID,
            prg.SUP_LEVEL,
            prg.SUB_ID,
            prg.SUB_EMT_ID,
            prg.SUB_ROLLUP_ID,
            invert.INVERT_VALUE              RELATIONSHIP_TYPE,
            decode(prg.RELATIONSHIP_TYPE,
                   'LW', 'Y',
                   'LF', 'N')                WP_FLAG,
            'Y'                              PUSHUP_FLAG
          from
            PJI_PJP_PROJ_BATCH_MAP map,
            PJI_XBS_DENORM_T prg,
            (
              select 'LF' INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'LW' INVERT_ID, 'LW' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LF' INVERT_VALUE from dual union all
              select 'A'  INVERT_ID, 'LW' INVERT_VALUE from dual
            ) invert,
            PJI_XBS_DENORM_DELTA prg_delta
          where
            prg.STRUCT_TYPE               = 'PRG'                           and
            prg.SUB_ROLLUP_ID             is not null                       and
            prg.SUB_LEVEL                 = l_level                         and
            map.WORKER_ID                 = p_worker_id                     and
            map.PROJECT_ID                = prg.SUP_PROJECT_ID              and
            decode(prg.SUB_LEVEL,
                   prg.SUP_LEVEL, 'A',
                   prg.RELATIONSHIP_TYPE) = invert.INVERT_ID                and
            p_worker_id                   = prg_delta.WORKER_ID         (+) and
            prg.STRUCT_TYPE               = prg_delta.STRUCT_TYPE       (+) and
            prg.SUP_PROJECT_ID            = prg_delta.SUP_PROJECT_ID    (+) and
            prg.SUP_LEVEL                 = prg_delta.SUP_LEVEL         (+) and
            prg.SUP_ID                    = prg_delta.SUP_ID            (+) and
            prg.SUB_LEVEL                 = prg_delta.SUB_LEVEL         (+) and
            prg.SUB_ID                    = prg_delta.SUB_ID            (+) and
            prg.RELATIONSHIP_TYPE         = prg_delta.RELATIONSHIP_TYPE (+) and
            -1                            = prg_delta.SIGN              (+) and
            prg_delta.SUP_PROJECT_ID      is null
          )                          prg,
          PJI_PJP_WBS_HEADER_T         wbs_hdr,
          PA_PROJ_ELEM_VER_STRUCTURE sub_ver,
          PA_PROJ_ELEM_VER_STRUCTURE sup_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp.PROJECT_ID         = sub_ver.PROJECT_ID                (+) and
          pjp.WBS_VERSION_ID     = sub_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sub_ver.STATUS_CODE               (+) and
          pjp.WBS_VERSION_ID     = prg.SUB_ID                        (+) and
          pjp.RELATIONSHIP_TYPE  = prg.RELATIONSHIP_TYPE             (+) and
          pjp.PUSHUP_FLAG        = prg.PUSHUP_FLAG                   (+) and
          prg.SUP_PROJECT_ID     = wbs_hdr.PROJECT_ID                (+) and
          prg.SUP_ID             = wbs_hdr.WBS_VERSION_ID            (+) and
          prg.WP_FLAG            = wbs_hdr.WP_FLAG                   (+) and
          'Y'                    = wbs_hdr.WP_FLAG                   (+) and
          wbs_hdr.PROJECT_ID     = sup_ver.PROJECT_ID                (+) and
          wbs_hdr.WBS_VERSION_ID = sup_ver.ELEMENT_VERSION_ID        (+) and
          'STRUCTURE_PUBLISHED'  = sup_ver.STATUS_CODE               (+) and
          'Y'                    = sup_ver.LATEST_EFF_PUBLISHED_FLAG (+) and
          prg.SUP_EMT_ID         = sup_wpa.PROJ_ELEMENT_ID           (+)
        group by
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.INSERT_FLAG, 'Y'),
          pjp.RELATIONSHIP_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sub_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_ver.STATUS_CODE),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, sup_wpa.WP_ENABLE_VERSION_FLAG),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_ID,
                              -3, prg.SUP_ID,
                              -4, prg.SUP_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.SUP_EMT_ID,
                              -3, prg.SUP_EMT_ID,
                              -4, prg.SUP_EMT_ID,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 null, decode(pjp.PLAN_VERSION_ID,
                              -1, prg.WP_FLAG,
                              -3, prg.WP_FLAG,
                              -4, prg.WP_FLAG,
                                  null)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 l_level, prg.SUP_LEVEL),
          pjp.LINE_TYPE,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ID, prg.SUP_PROJECT_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORG_ID,
                 prg.SUP_PROJECT_ORG_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ORGANIZATION_ID,
                 prg.SUP_PROJECT_ORGANIZATION_ID),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PROJECT_ELEMENT_ID,
                 prg.SUB_ROLLUP_ID),
          pjp.TIME_ID,
          pjp.PERIOD_TYPE_ID,
          pjp.CALENDAR_TYPE,
          pjp.RBS_AGGR_LEVEL,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.WBS_ROLLUP_FLAG, 'N'),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PRG_ROLLUP_FLAG, 'Y'),
          pjp.CURR_RECORD_TYPE_ID,
          pjp.CURRENCY_CODE,
          pjp.RBS_ELEMENT_ID,
          pjp.RBS_VERSION_ID,
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_VERSION_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_VERSION_ID,
                        -2, pjp.PLAN_VERSION_ID,
                        -3, pjp.PLAN_VERSION_ID,
                        -4, pjp.PLAN_VERSION_ID,
                            wbs_hdr.PLAN_VERSION_ID)),
          decode(nvl(prg.SUB_EMT_ID, -1), nvl(prg.SUB_ROLLUP_ID, -1),
                 pjp.PLAN_TYPE_ID,
                 decode(pjp.PLAN_VERSION_ID,
                        -1, pjp.PLAN_TYPE_ID,
                        -2, pjp.PLAN_TYPE_ID,
                        -3, pjp.PLAN_TYPE_ID,
                        -4, pjp.PLAN_TYPE_ID,
                            wbs_hdr.PLAN_TYPE_ID)),
          pjp.PLAN_TYPE_CODE
          )                          pjp1_i,
          PA_PROJ_ELEM_VER_STRUCTURE sup_fin_ver,
          PA_PROJ_WORKPLAN_ATTR      sup_wpa
        where
          pjp1_i.INSERT_FLAG  = 'Y'                                and
          pjp1_i.PROJECT_ID   = sup_fin_ver.PROJECT_ID         (+) and
          pjp1_i.SUP_ID       = sup_fin_ver.ELEMENT_VERSION_ID (+) and
          'STRUCTURE_WORKING' = sup_fin_ver.STATUS_CODE        (+) and
          pjp1_i.SUP_EMT_ID   = sup_wpa.PROJ_ELEMENT_ID        (+) and
          'N'                 = sup_wpa.WP_ENABLE_VERSION_FLAG (+) and
          (pjp1_i.SUP_ID is null or
           (pjp1_i.SUP_ID is not null and
            (sup_fin_ver.PROJECT_ID is not null or
             sup_wpa.PROJ_ELEMENT_ID is not null)));
Line: 46586

  delete
  from pji_helper_420
  where batch_id = p_batch_id;
Line: 46590

  update pji_batch_status_420
  set    request_status = 'COMPLETED'
  where batch_id = p_batch_id;