DBA Data[Home] [Help]

APPS.PJI_RM_SUM_EXTR SQL Statements

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

Line: 26

    insert /*+ append parallel(res1_i) */ into PJI_RM_AGGR_RES1 res1_i
    (
      WORKER_ID,
      DANGLING_FLAG,
      ROW_ID,
      RECORD_TYPE,
      PROJECT_ID,
      PERSON_ID,
      EXPENDITURE_ORG_ID,
      EXPENDITURE_ORGANIZATION_ID,
      WORK_TYPE_ID,
      JOB_ID,
      TIME_ID,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      GL_CALENDAR_ID,
      PA_CALENDAR_ID,
      CAPACITY_HRS,
      TOTAL_HRS_A,
      BILL_HRS_A,
      CONF_HRS_S,
      PROV_HRS_S,
      UNASSIGNED_HRS_S,
      CONF_OVERCOM_HRS_S,
      PROV_OVERCOM_HRS_S
    )
    select /*+ parallel(tmp1) full(res_map) */
      p_worker_id,
      null,
      tmp1.ROWID,
      tmp1.RECORD_TYPE,
      tmp1.PROJECT_ID,
      tmp1.PERSON_ID,
      tmp1.EXPENDITURE_ORG_ID,
      tmp1.EXPENDITURE_ORGANIZATION_ID,
      tmp1.WORK_TYPE_ID,
      tmp1.JOB_ID,
      tmp1.TIME_ID,
      tmp1.PERIOD_TYPE_ID,
      'C',
      res_map.GL_CALENDAR_ID,
      res_map.PA_CALENDAR_ID,
      tmp1.CAPACITY_HRS,
      tmp1.TOTAL_HRS_A,
      tmp1.BILL_HRS_A,
      tmp1.CONF_HRS_S,
      tmp1.PROV_HRS_S,
      tmp1.UNASSIGNED_HRS_S,
      tmp1.CONF_OVERCOM_HRS_S,
      tmp1.PROV_OVERCOM_HRS_S
    from
      PJI_RM_DNGL_RES      tmp1,
      PJI_RM_ORG_BATCH_MAP orgs,
      PJI_ORG_EXTR_INFO    res_map
    where
      tmp1.WORKER_ID           = 0                                and
      orgs.WORKER_ID           = p_worker_id                      and
      orgs.ORGANIZATION_ID     = tmp1.EXPENDITURE_ORGANIZATION_ID and
      tmp1.EXPENDITURE_ORG_ID  = res_map.ORG_ID                   and
      tmp1.TIME_ID            >= res_map.PA_CALENDAR_MIN_DATE     and
      tmp1.TIME_ID            <= res_map.PA_CALENDAR_MAX_DATE     and
      tmp1.TIME_ID            >= res_map.GL_CALENDAR_MIN_DATE     and
      tmp1.TIME_ID            <= res_map.GL_CALENDAR_MAX_DATE     and
      tmp1.TIME_ID            >= res_map.EN_CALENDAR_MIN_DATE     and
      tmp1.TIME_ID            <= res_map.EN_CALENDAR_MAX_DATE;
Line: 115

    delete /*+ parallel(res) */
    from   PJI_RM_DNGL_RES res
    where  WORKER_ID = 0 and
           ROWID in (select ROW_ID
                     from   PJI_RM_AGGR_RES1
                     where  WORKER_ID = p_worker_id);
Line: 145

    insert /*+ append parallel(res_i) */ into PJI_PJI_RMAP_RES res_i
    (
      WORKER_ID,
      STG_ROWID
    )
    select /*+ ordered */
      p_worker_id                           WORKER_ID,
      res6.ROWID                            STG_ROWID
    from
      PJI_PJI_PROJ_BATCH_MAP map,
      PJI_RM_AGGR_RES6       res6,
      PJI_RESOURCES_DENORM   denorm
    where
      map.WORKER_ID                       = p_worker_id             and
      res6.PROJECT_ID                     = map.PROJECT_ID          and
      res6.PERSON_ID                      = denorm.PERSON_ID        and
      denorm.UTILIZATION_FLAG             = 'Y'                     and
      to_date(to_char(res6.TIME_ID), 'J') between denorm.START_DATE and
                                                  denorm.END_DATE;
Line: 185

    cursor c_update_fid is
    select fid.ROWID as row_id
    from   pa_forecast_item_details fid
    where  fid.expenditure_organization_id in  (select organization_id
                                                from   pji_rm_org_batch_map
                                                where  worker_id = p_worker_id)
    and    fid.pji_summarized_flag = 'N';
Line: 212

    insert /*+ append parallel(res1_i) */ into PJI_RM_AGGR_RES1 res1_i
    (
      WORKER_ID,
      DANGLING_FLAG,
      RECORD_TYPE,
      TOTAL_HRS_A,
      BILL_HRS_A,
      CAPACITY_HRS,
      CONF_HRS_S,
      PROV_HRS_S,
      UNASSIGNED_HRS_S,
      CONF_OVERCOM_HRS_S,
      PROV_OVERCOM_HRS_S,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      GL_CALENDAR_ID,
      PA_CALENDAR_ID,
      EXPENDITURE_ORGANIZATION_ID,
      EXPENDITURE_ORG_ID,
      TIME_ID,
      PERSON_ID,
      JOB_ID,
      WORK_TYPE_ID,
      PROJECT_ID
    )
    select
        WORKER_ID,
        DANGLING_FLAG,
        RECORD_TYPE,
        TOTAL_HRS_A,
        BILL_HRS_A,
        CAPACITY_HRS,
        CONF_HRS_S,
        PROV_HRS_S,
        UNASSIGNED_HRS_S,
        CONF_OVERCOM_HRS_S,
        PROV_OVERCOM_HRS_S,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        GL_CALENDAR_ID,
        PA_CALENDAR_ID,
        EXPENDITURE_ORGANIZATION_ID,
        EXPENDITURE_ORG_ID,
        TIME_ID,
        PERSON_ID,
        JOB_ID,
        WORK_TYPE_ID,
        PROJECT_ID
      from
        (
        select  -- Selecting data from source : FI
          WORKER_ID,
          DANGLING_FLAG,
          RECORD_TYPE,
          sum(TOTAL_HRS_A)        TOTAL_HRS_A,
          sum(BILL_HRS_A)         BILL_HRS_A,
          sum(CAPACITY_HRS)       CAPACITY_HRS,
          sum(CONF_HRS_S)         CONF_HRS_S,
          sum(PROV_HRS_S)         PROV_HRS_S,
          sum(UNASSIGNED_HRS_S)   UNASSIGNED_HRS_S,
          sum(CONF_OVERCOM_HRS_S) CONF_OVERCOM_HRS_S,
          sum(PROV_OVERCOM_HRS_S) PROV_OVERCOM_HRS_S,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          GL_CALENDAR_ID,
          PA_CALENDAR_ID,
          EXPENDITURE_ORGANIZATION_ID,
          EXPENDITURE_ORG_ID,
          TIME_ID,
          PERSON_ID,
          JOB_ID,
          WORK_TYPE_ID,
          PROJECT_ID
        from
          (
          select /*+        ORDERED
                            full(fid)      use_hash(fid)      parallel(fid)
                            full(fi)       use_hash(fi)       parallel(fi)
                            full(res)      use_hash(res)      parallel(res)
                            full(wt)       use_hash(wt)
                            full(res_info) use_hash(res_info)
                 */
            p_worker_id WORKER_ID,
            case when  res_info.ORG_ID is null
                 then 'O'
                 when greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.EN_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.EN_CALENDAR_MAX_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.GL_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.GL_CALENDAR_MAX_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.PA_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.PA_CALENDAR_MAX_DATE
                 then 'T'
                 else null
            end DANGLING_FLAG,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then 'U'
                 else 'N'
                 end RECORD_TYPE,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then fid.CAPACITY_QUANTITY
                 else to_number(null)
            end CAPACITY_HRS,
            case when fi.FORECAST_ITEM_TYPE = 'A'
                 then fid.ITEM_QUANTITY *
                        decode(fi.PROVISIONAL_FLAG, 'N', 1, 0)
                 else to_number(null)
            end CONF_HRS_S,
            case when fi.FORECAST_ITEM_TYPE = 'A'
                 then fid.ITEM_QUANTITY *
                        decode(fi.PROVISIONAL_FLAG, 'Y', 1, 0)
                 else to_number(null)
            end PROV_HRS_S,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then fid.ITEM_QUANTITY
                 else to_number(null)
            end UNASSIGNED_HRS_S,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then fid.OVERCOMMITMENT_QTY *
                        decode(fi.OVERCOMMITMENT_FLAG, 'Y', 1, 0)
                 else to_number(null)
            end CONF_OVERCOM_HRS_S,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then fid.OVERPROVISIONAL_QTY *
                        decode(fi.OVERCOMMITMENT_FLAG, 'Y', 1, 0)
                 else to_number(null)
            end PROV_OVERCOM_HRS_S,
            to_number(null) TOTAL_HRS_A,
            to_number(null) BILL_HRS_A,
            1 PERIOD_TYPE_ID,
            case when  res_info.ORG_ID is null
                 then 'C'
                 when greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.PA_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.PA_CALENDAR_MAX_DATE
                 then 'P'
                 when greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.GL_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.GL_CALENDAR_MAX_DATE
                 then 'G'
                 else 'C'
            end CALENDAR_TYPE ,
            res_info.GL_CALENDAR_ID,
            res_info.PA_CALENDAR_ID,
            fid.EXPENDITURE_ORGANIZATION_ID,
            fid.EXPENDITURE_ORG_ID,
            greatest(to_number(to_char(fi.ITEM_DATE,'J')), l_min_date) TIME_ID,
            fi.PERSON_ID,
            nvl(nvl(fid.JOB_ID, res.JOB_ID), -1) JOB_ID,
            fid.WORK_TYPE_ID,
            fid.PROJECT_ID
          from
            PJI_RM_WORK_TYPE_INFO    wt,
            PA_FORECAST_ITEM_DETAILS fid,
            PA_FORECAST_ITEMS        fi,
            PJI_RESOURCES_DENORM     res,
            PJI_ORG_EXTR_INFO        res_info
          where
            nvl(fid.pji_summarized_flag,'Y') <> 'N'                  and
            fi.FORECAST_ITEM_ID              = fid.FORECAST_ITEM_ID  and
            fi.FORECAST_ITEM_TYPE            in ('U', 'A')           and
            fid.WORK_TYPE_ID                 = wt.WORK_TYPE_ID       and
            wt.RECORD_TYPE                   = 'NORMAL'              and
            res.PERSON_ID                    = fi.PERSON_ID          and
            res.UTILIZATION_FLAG             = 'Y'                   and
            fi.item_date between res.START_DATE and res.END_DATE     and
            fid.EXPENDITURE_ORG_ID           = res_info.ORG_ID
          union all
          select /*+ ordered */
            p_worker_id                           WORKER_ID,
            null                                  DANGLING_FLAG,
            'N'                                   RECORD_TYPE,
            to_number(null)                       CAPACITY_HRS,
            to_number(null)                       CONF_HRS_S,
            to_number(null)                       PROV_HRS_S,
            to_number(null)                       UNASSIGNED_HRS_S,
            to_number(null)                       CONF_OVERCOM_HRS_S,
            to_number(null)                       PROV_OVERCOM_HRS_S,
            res6.TOTAL_HRS_A,
            res6.BILL_HRS_A,
            1                                     PERIOD_TYPE_ID,
            res6.CALENDAR_TYPE,
            res6.GL_CALENDAR_ID,
            res6.PA_CALENDAR_ID,
            res6.EXPENDITURE_ORGANIZATION_ID,
            res6.EXPENDITURE_ORG_ID,
            res6.TIME_ID,
            res6.PERSON_ID,
            res6.JOB_ID,
            res6.WORK_TYPE_ID,
            res6.PROJECT_ID
          from
            PJI_RM_AGGR_RES6 res6,
            PJI_PJI_RMAP_RES res6_r
          where
            res6_r.WORKER_ID = p_worker_id and
            res6.ROWID = res6_r.STG_ROWID
        ) tmp1
      group by
        WORKER_ID,
        DANGLING_FLAG,
        RECORD_TYPE,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        GL_CALENDAR_ID,
        PA_CALENDAR_ID,
        EXPENDITURE_ORGANIZATION_ID,
        EXPENDITURE_ORG_ID,
        TIME_ID,
        PERSON_ID,
        JOB_ID,
        WORK_TYPE_ID,
        PROJECT_ID
      )
    where
      nvl(TOTAL_HRS_A, 0)        <> 0 or
      nvl(BILL_HRS_A, 0)         <> 0 or
      nvl(CAPACITY_HRS, 0)       <> 0 or
      nvl(CONF_HRS_S, 0)         <> 0 or
      nvl(PROV_HRS_S, 0)         <> 0 or
      nvl(UNASSIGNED_HRS_S, 0)   <> 0 or
      nvl(CONF_OVERCOM_HRS_S, 0) <> 0 or
      nvl(PROV_OVERCOM_HRS_S, 0) <> 0;
Line: 453

    l_last_update_date    date;
Line: 454

    l_last_updated_by     number;
Line: 458

    l_program_update_date date;
Line: 470

    select count(*)
    into   l_row_count
    from   PJI_RES_DELTA
    where  CHANGE_TYPE = 'N';
Line: 477

    l_last_update_date  := sysdate;
Line: 478

    l_last_updated_by   := FND_GLOBAL.USER_ID;
Line: 482

    l_program_update_date := sysdate;
Line: 484

    update PA_FORECAST_ITEM_DETAILS fid
    set    fid.PJI_SUMMARIZED_FLAG    = null,
           fid.LAST_UPDATE_DATE       = l_last_update_date,
           fid.LAST_UPDATED_BY        = l_last_updated_by,
           fid.REQUEST_ID             = l_request_id,
           fid.PROGRAM_APPLICATION_ID = l_program_appl_id,
           fid.PROGRAM_ID             = l_program_id,
           fid.PROGRAM_UPDATE_DATE    = l_program_update_date
    where  fid.PJI_SUMMARIZED_FLAG = 'N' and
           fid.FORECAST_ITEM_ID in
           (select /*+ cardinality(delta, 1) */
                   fi.FORECAST_ITEM_ID
            from   PJI_RES_DELTA delta,
                   PA_FORECAST_ITEMS fi
            where  delta.CHANGE_TYPE     = 'N'                    and
                   delta.RESOURCE_ID     = fi.RESOURCE_ID         and
                   fi.FORECAST_ITEM_TYPE in ('U', 'A')            and
                   fi.DELETE_FLAG        in ('Y', 'N')            and
                   fi.ITEM_DATE          between delta.START_DATE and
                                                 delta.END_DATE);
Line: 512

      insert /*+ append */ into PJI_RM_REXT_FCSTITEM
      (
        WORKER_ID
      , FID_ROWID
      , START_DATE
      , END_DATE
      , PJI_SUMMARIZED_FLAG
      , BATCH_ID
      )
      SELECT /*+ index_ffs(fid, PA_FORECAST_ITEM_DETAILS_N2) */
        p_worker_id
      , fid.ROWID
      , null
      , null
      , fid.PJI_SUMMARIZED_FLAG
      , ceil(ROWNUM / PJI_RM_SUM_MAIN.g_commit_threshold)
      FROM
        PA_FORECAST_ITEM_DETAILS fid
      WHERE
        fid.PJI_SUMMARIZED_FLAG = 'N';
Line: 535

      INSERT /*+ APPEND */ INTO PJI_RM_REXT_FCSTITEM
      (
        WORKER_ID
      , FID_ROWID
      , START_DATE
      , END_DATE
      , PJI_SUMMARIZED_FLAG
      , BATCH_ID
      )
      SELECT /*+ ORDERED
                 USE_NL(fid)
                 INDEX(fid, PA_FORECAST_ITEM_DETAILS_N2)
                 NOPARALLEL(bat)
              */
        p_worker_id    WORKER_ID
      , fid.ROWID      FID_ROWID
      , bat.start_date START_DATE
      , bat.end_date   END_DATE
      , fid.PJI_SUMMARIZED_FLAG
      , ceil(ROWNUM / PJI_RM_SUM_MAIN.g_commit_threshold)
      FROM
        pji_rm_org_batch_map     bat
      , pa_forecast_item_details fid
      , pji_rm_rext_fcstitem     fcst
      WHERE
        bat.WORKER_ID = p_worker_id                            and
        fid.EXPENDITURE_ORGANIZATION_ID  = bat.ORGANIZATION_ID and
        ((nvl(fid.PJI_SUMMARIZED_FLAG, 'N') <> 'X' and
          bat.EXTRACTION_TYPE in ('F', 'P')) or
         (fid.PJI_SUMMARIZED_FLAG = 'N' and
          bat.EXTRACTION_TYPE = 'I'))                          and
        p_worker_id = fcst.WORKER_ID (+)                       and
        fid.ROWID = fcst.FID_ROWID (+)                         and
        fcst.WORKER_ID is null;
Line: 593

    l_last_update_date    date;
Line: 594

    l_last_updated_by     number;
Line: 598

    l_program_update_date date;
Line: 627

      insert /*+ append parallel(res1_i) */ into PJI_RM_AGGR_RES1 res1_i
      (
        WORKER_ID,
        DANGLING_FLAG,
        RECORD_TYPE,
        TOTAL_HRS_A,
        BILL_HRS_A,
        CAPACITY_HRS,
        CONF_HRS_S,
        PROV_HRS_S,
        UNASSIGNED_HRS_S,
        CONF_OVERCOM_HRS_S,
        PROV_OVERCOM_HRS_S,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        GL_CALENDAR_ID,
        PA_CALENDAR_ID,
        EXPENDITURE_ORGANIZATION_ID,
        EXPENDITURE_ORG_ID,
        TIME_ID,
        PERSON_ID,
        JOB_ID,
        WORK_TYPE_ID,
        PROJECT_ID
      )
      select
        WORKER_ID,
        DANGLING_FLAG,
        RECORD_TYPE,
        TOTAL_HRS_A,
        BILL_HRS_A,
        CAPACITY_HRS,
        CONF_HRS_S,
        PROV_HRS_S,
        UNASSIGNED_HRS_S,
        CONF_OVERCOM_HRS_S,
        PROV_OVERCOM_HRS_S,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        GL_CALENDAR_ID,
        PA_CALENDAR_ID,
        EXPENDITURE_ORGANIZATION_ID,
        EXPENDITURE_ORG_ID,
        TIME_ID,
        PERSON_ID,
        JOB_ID,
        WORK_TYPE_ID,
        PROJECT_ID
      from
        (
        select  -- Selecting data from source : FI
          WORKER_ID,
          DANGLING_FLAG,
          RECORD_TYPE,
          sum(TOTAL_HRS_A)        TOTAL_HRS_A,
          sum(BILL_HRS_A)         BILL_HRS_A,
          sum(CAPACITY_HRS)       CAPACITY_HRS,
          sum(CONF_HRS_S)         CONF_HRS_S,
          sum(PROV_HRS_S)         PROV_HRS_S,
          sum(UNASSIGNED_HRS_S)   UNASSIGNED_HRS_S,
          sum(CONF_OVERCOM_HRS_S) CONF_OVERCOM_HRS_S,
          sum(PROV_OVERCOM_HRS_S) PROV_OVERCOM_HRS_S,
          PERIOD_TYPE_ID,
          CALENDAR_TYPE,
          GL_CALENDAR_ID,
          PA_CALENDAR_ID,
          EXPENDITURE_ORGANIZATION_ID,
          EXPENDITURE_ORG_ID,
          TIME_ID,
          PERSON_ID,
          JOB_ID,
          WORK_TYPE_ID,
          PROJECT_ID
        from
          (
          select /*+ ordered use_nl(fid, fi, res)
                     parallel(scope) parallel(fi)
                     parallel(fid) parallel(res) */
            p_worker_id WORKER_ID,
            case when  res_info.ORG_ID is null
                 then 'O'
                 when greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.EN_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.EN_CALENDAR_MAX_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.GL_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.GL_CALENDAR_MAX_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.PA_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.PA_CALENDAR_MAX_DATE
                 then 'T'
                 else null
            end DANGLING_FLAG,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then 'U'
                 else 'N'
                 end RECORD_TYPE,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then fid.CAPACITY_QUANTITY
                 else to_number(null)
            end CAPACITY_HRS,
            case when fi.FORECAST_ITEM_TYPE = 'A'
                 then fid.ITEM_QUANTITY *
                        decode(fi.PROVISIONAL_FLAG, 'N', 1, 0)
                 else to_number(null)
            end CONF_HRS_S,
            case when fi.FORECAST_ITEM_TYPE = 'A'
                 then fid.ITEM_QUANTITY *
                        decode(fi.PROVISIONAL_FLAG, 'Y', 1, 0)
                 else to_number(null)
            end PROV_HRS_S,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then fid.ITEM_QUANTITY
                 else to_number(null)
            end UNASSIGNED_HRS_S,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then fid.OVERCOMMITMENT_QTY *
                        decode(fi.OVERCOMMITMENT_FLAG,'Y',1,0)
                 else to_number(null)
            end CONF_OVERCOM_HRS_S,
            case when fi.FORECAST_ITEM_TYPE = 'U'
                 then fid.OVERPROVISIONAL_QTY *
                        decode(fi.OVERCOMMITMENT_FLAG,'Y',1,0)
                 else to_number(null)
            end PROV_OVERCOM_HRS_S,
            to_number(null) TOTAL_HRS_A,
            to_number(null) BILL_HRS_A,
            1 PERIOD_TYPE_ID,
            case when  res_info.ORG_ID is null
                 then 'C'
                 when greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.PA_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.PA_CALENDAR_MAX_DATE
                 then 'P'
                 when greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) < res_info.GL_CALENDAR_MIN_DATE or
                      greatest(to_number(to_char( fi.ITEM_DATE, 'J')), l_min_date) > res_info.GL_CALENDAR_MAX_DATE
                 then 'G'
                 else 'C'
            end CALENDAR_TYPE ,
            res_info.GL_CALENDAR_ID,
            res_info.PA_CALENDAR_ID,
            fid.EXPENDITURE_ORGANIZATION_ID,
            fid.EXPENDITURE_ORG_ID,
            greatest(to_number(to_char(fi.ITEM_DATE,'J')), l_min_date) TIME_ID,
            fi.PERSON_ID,
            nvl(nvl(fid.JOB_ID, res.JOB_ID), -1) JOB_ID,
            fid.WORK_TYPE_ID,
            fid.PROJECT_ID
          from
            PJI_RM_REXT_FCSTITEM     scope,
            PA_FORECAST_ITEM_DETAILS fid,
            PA_FORECAST_ITEMS        fi,
            PJI_RM_WORK_TYPE_INFO    wt,
            PJI_RESOURCES_DENORM     res,
            PJI_ORG_EXTR_INFO        res_info
          where
            scope.WORKER_ID                  = p_worker_id           and
            scope.fid_rowid                  = fid.rowid             and
            fi.FORECAST_ITEM_ID              = fid.FORECAST_ITEM_ID  and
            fi.ITEM_DATE                     between scope.START_DATE
                                                 and scope.END_DATE  and
            fi.FORECAST_ITEM_TYPE            in ('U', 'A')           and
            fid.WORK_TYPE_ID                 = wt.WORK_TYPE_ID       and
            wt.RECORD_TYPE                   = 'NORMAL'              and
            res.PERSON_ID                    = fi.PERSON_ID          and
            res.UTILIZATION_FLAG             = 'Y'                   and
            fi.item_date between res.START_DATE and res.END_DATE     and
            fid.EXPENDITURE_ORG_ID           = res_info.ORG_ID
          union all
          select /*+ ordered */
            p_worker_id                           WORKER_ID,
            null                                  DANGLING_FLAG,
            'N'                                   RECORD_TYPE,
            to_number(null)                       CAPACITY_HRS,
            to_number(null)                       CONF_HRS_S,
            to_number(null)                       PROV_HRS_S,
            to_number(null)                       UNASSIGNED_HRS_S,
            to_number(null)                       CONF_OVERCOM_HRS_S,
            to_number(null)                       PROV_OVERCOM_HRS_S,
            res6.TOTAL_HRS_A,
            res6.BILL_HRS_A,
            1                                     PERIOD_TYPE_ID,
            res6.CALENDAR_TYPE,
            res6.GL_CALENDAR_ID,
            res6.PA_CALENDAR_ID,
            res6.EXPENDITURE_ORGANIZATION_ID,
            res6.EXPENDITURE_ORG_ID,
            res6.TIME_ID,
            res6.PERSON_ID,
            res6.JOB_ID,
            res6.WORK_TYPE_ID,
            res6.PROJECT_ID
          from
            PJI_PJI_RMAP_RES res6_r,
            PJI_RM_AGGR_RES6 res6
          where
            res6_r.WORKER_ID = p_worker_id and
            res6.ROWID = res6_r.STG_ROWID
        ) tmp1
      group by
        WORKER_ID,
        DANGLING_FLAG,
        RECORD_TYPE,
        PERIOD_TYPE_ID,
        CALENDAR_TYPE,
        GL_CALENDAR_ID,
        PA_CALENDAR_ID,
        EXPENDITURE_ORGANIZATION_ID,
        EXPENDITURE_ORG_ID,
        TIME_ID,
        PERSON_ID,
        JOB_ID,
        WORK_TYPE_ID,
        PROJECT_ID
      )
    where
      nvl(TOTAL_HRS_A, 0)        <> 0 or
      nvl(BILL_HRS_A, 0)         <> 0 or
      nvl(CAPACITY_HRS, 0)       <> 0 or
      nvl(CONF_HRS_S, 0)         <> 0 or
      nvl(PROV_HRS_S, 0)         <> 0 or
      nvl(UNASSIGNED_HRS_S, 0)   <> 0 or
      nvl(CONF_OVERCOM_HRS_S, 0) <> 0 or
      nvl(PROV_OVERCOM_HRS_S, 0) <> 0;
Line: 870

    insert into PJI_RM_DNGL_RES
    (
      WORKER_ID,
      DANGLING_FLAG,
      RECORD_TYPE,
      TOTAL_HRS_A,
      BILL_HRS_A,
      CAPACITY_HRS,
      CONF_HRS_S,
      PROV_HRS_S,
      UNASSIGNED_HRS_S,
      CONF_OVERCOM_HRS_S,
      PROV_OVERCOM_HRS_S,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      EXPENDITURE_ORGANIZATION_ID,
      EXPENDITURE_ORG_ID,
      TIME_ID,
      PERSON_ID,
      JOB_ID,
      WORK_TYPE_ID,
      PROJECT_ID
    )
    select /*+ full(tmp) parallel(tmp) */
      0 WORKER_ID,
      DANGLING_FLAG,
      RECORD_TYPE,
      TOTAL_HRS_A,
      BILL_HRS_A,
      CAPACITY_HRS,
      CONF_HRS_S,
      PROV_HRS_S,
      UNASSIGNED_HRS_S,
      CONF_OVERCOM_HRS_S,
      PROV_OVERCOM_HRS_S,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      EXPENDITURE_ORGANIZATION_ID,
      EXPENDITURE_ORG_ID,
      TIME_ID,
      PERSON_ID,
      JOB_ID,
      WORK_TYPE_ID,
      PROJECT_ID
    from
      PJI_RM_AGGR_RES1 tmp
    where
      WORKER_ID = p_worker_id and
      DANGLING_FLAG is not null;
Line: 920

    delete
    from   PJI_RM_AGGR_RES1
    where  WORKER_ID = p_worker_id and
           DANGLING_FLAG is not null;
Line: 948

    delete
    from   PJI_RM_AGGR_RES6
    where  ROWID in (select STG_ROWID
                     from   PJI_PJI_RMAP_RES
                     where  WORKER_ID = p_worker_id);
Line: 983

    insert /*+ append parallel(res3_i) */ into PJI_RM_AGGR_RES3 res3_i
    (
      WORKER_ID,
      PROJECT_ID,
      PERSON_ID,
      TIME_ID,
      CALENDAR_TYPE,
      GL_CALENDAR_ID,
      PA_CALENDAR_ID,
      JOB_ID
    )
    select /*+ parallel(tmp1) */
      p_worker_id,
      PROJECT_ID,
      PERSON_ID,
      TIME_ID,
      CALENDAR_TYPE,
      GL_CALENDAR_ID,
      PA_CALENDAR_ID,
      JOB_ID
    from
      PJI_RM_AGGR_RES1 tmp1
    where
      WORKER_ID         = p_worker_id and
      RECORD_TYPE       = 'U'         and
      CAPACITY_HRS     >= 0           and
      UNASSIGNED_HRS_S >= 0;
Line: 1048

    insert /*+ append parallel(res1_i) */ into PJI_RM_AGGR_RES1 res1_i
    (
      WORKER_ID,
      DANGLING_FLAG,
      RECORD_TYPE,
      PROJECT_ID,
      PERSON_ID,
      EXPENDITURE_ORG_ID,
      EXPENDITURE_ORGANIZATION_ID,
      WORK_TYPE_ID,
      JOB_ID,
      TIME_ID,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      GL_CALENDAR_ID,
      PA_CALENDAR_ID,
      CAPACITY_HRS,
      TOTAL_HRS_A,
      BILL_HRS_A,
      CONF_HRS_S,
      PROV_HRS_S,
      UNASSIGNED_HRS_S,
      CONF_OVERCOM_HRS_S,
      PROV_OVERCOM_HRS_S
    )
    select
      p_worker_id             WORKER_ID,
      null                    DANGLING_FLAG,
      RECORD_TYPE,
      PROJECT_ID,
      PERSON_ID,
      EXPENDITURE_ORG_ID,
      EXPENDITURE_ORGANIZATION_ID,
      WORK_TYPE_ID,
      JOB_ID,
      TIME_ID,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      GL_CALENDAR_ID,
      PA_CALENDAR_ID,
      sum(CAPACITY_HRS)       CAPACITY_HRS,
      sum(TOTAL_HRS_A)        TOTAL_HRS_A,
      sum(BILL_HRS_A)         BILL_HRS_A,
      sum(CONF_HRS_S)         CONF_HRS_S,
      sum(PROV_HRS_S)         PROV_HRS_S,
      sum(UNASSIGNED_HRS_S)   UNASSIGNED_HRS_S,
      sum(CONF_OVERCOM_HRS_S) CONF_OVERCOM_HRS_S,
      sum(PROV_OVERCOM_HRS_S) PROV_OVERCOM_HRS_S
    from
      (
      select /*+ ordered
                 full(map)
             */ -- partial refresh (RM) and job Util --> Non-Util
        rmr.RECORD_TYPE,
        rmr.PROJECT_ID,
        rmr.PERSON_ID,
        rmr.EXPENDITURE_ORG_ID,
        rmr.EXPENDITURE_ORGANIZATION_ID,
        rmr.WORK_TYPE_ID,
        rmr.JOB_ID,
        rmr.TIME_ID,
        rmr.PERIOD_TYPE_ID,
        rmr.CALENDAR_TYPE,
        info.GL_CALENDAR_ID,
        info.PA_CALENDAR_ID,
        -rmr.CAPACITY_HRS       CAPACITY_HRS,
        to_number(null)         TOTAL_HRS_A,
        to_number(null)         BILL_HRS_A,
        -rmr.CONF_HRS_S         CONF_HRS_S,
        -rmr.PROV_HRS_S         PROV_HRS_S,
        -rmr.UNASSIGNED_HRS_S   UNASSIGNED_HRS_S,
        -rmr.CONF_OVERCOM_HRS_S CONF_OVERCOM_HRS_S,
        -rmr.PROV_OVERCOM_HRS_S PROV_OVERCOM_HRS_S
      from
        PJI_RM_ORG_BATCH_MAP map,
        PJI_RM_RES_WT_F      rmr,
        PJI_ORG_EXTR_INFO    info
      where
        l_extraction_type      = 'PARTIAL'                          and
        map.WORKER_ID          = p_worker_id                        and
        map.EXTRACTION_TYPE    = 'P'                                and
        rmr.PERIOD_TYPE_ID     = 1                                  and
        map.ORGANIZATION_ID    = rmr.EXPENDITURE_ORGANIZATION_ID    and
        rmr.TIME_ID between to_number(to_char(map.START_DATE, 'J'))
                    and     to_number(to_char(map.END_DATE, 'J'))   and
        rmr.EXPENDITURE_ORG_ID = info.ORG_ID
      union all -- partial refresh (FM) and job Util --> Non-Util
      select /*+ ordered
                 full(map)
             */
        rmr.RECORD_TYPE,
        rmr.PROJECT_ID,
        rmr.PERSON_ID,
        rmr.EXPENDITURE_ORG_ID,
        rmr.EXPENDITURE_ORGANIZATION_ID,
        rmr.WORK_TYPE_ID,
        rmr.JOB_ID,
        rmr.TIME_ID,
        rmr.PERIOD_TYPE_ID,
        rmr.CALENDAR_TYPE,
        info.GL_CALENDAR_ID,
        info.PA_CALENDAR_ID,
        to_number(null)         CAPACITY_HRS,
        -rmr.TOTAL_HRS_A        TOTAL_HRS_A,
        -rmr.BILL_HRS_A         BILL_HRS_A,
        to_number(null)         CONF_HRS_S,
        to_number(null)         PROV_HRS_S,
        to_number(null)         UNASSIGNED_HRS_S,
        to_number(null)         CONF_OVERCOM_HRS_S,
        to_number(null)         PROV_OVERCOM_HRS_S
      from
        PJI_PJI_PROJ_BATCH_MAP map,
        PJI_RM_RES_WT_F        rmr,
        PJI_ORG_EXTR_INFO      info
      where
        l_extraction_type      = 'PARTIAL'      and
        map.WORKER_ID          = p_worker_id    and
        map.EXTRACTION_TYPE    = 'P'            and
        rmr.PERIOD_TYPE_ID     = 1              and
        map.PROJECT_ID         = rmr.PROJECT_ID and
        rmr.EXPENDITURE_ORG_ID = info.ORG_ID
      union all  --  JOB_ID Util --> Non-Util corrections
      select /*+ ordered
                 full(delta)
                 full(map)
             */
        rmr.RECORD_TYPE,
        rmr.PROJECT_ID,
        rmr.PERSON_ID,
        rmr.EXPENDITURE_ORG_ID,
        rmr.EXPENDITURE_ORGANIZATION_ID,
        rmr.WORK_TYPE_ID,
        rmr.JOB_ID,
        rmr.TIME_ID,
        rmr.PERIOD_TYPE_ID,
        rmr.CALENDAR_TYPE,
        info.GL_CALENDAR_ID,
        info.PA_CALENDAR_ID,
        -rmr.CAPACITY_HRS       CAPACITY_HRS,
        -rmr.TOTAL_HRS_A        TOTAL_HRS_A,
        -rmr.BILL_HRS_A         BILL_HRS_A,
        -rmr.CONF_HRS_S         CONF_HRS_S,
        -rmr.PROV_HRS_S         PROV_HRS_S,
        -rmr.UNASSIGNED_HRS_S   UNASSIGNED_HRS_S,
        -rmr.CONF_OVERCOM_HRS_S CONF_OVERCOM_HRS_S,
        -rmr.PROV_OVERCOM_HRS_S PROV_OVERCOM_HRS_S
      from
        PJI_RES_DELTA          delta,
        PJI_RM_RES_WT_F        rmr,
        PJI_RM_ORG_BATCH_MAP   map,
        PJI_PJI_PROJ_BATCH_MAP fm_map,
        PJI_ORG_EXTR_INFO      info
      where
        l_extraction_type               = 'PARTIAL'                   and
        delta.CHANGE_TYPE               = 'N'                         and
        delta.PERSON_ID                 = rmr.PERSON_ID               and
        rmr.PERIOD_TYPE_ID              = 1                           and
        rmr.TIME_ID between to_number(to_char(delta.START_DATE, 'J')) and
                            to_number(to_char(delta.END_DATE, 'J'))   and
        p_worker_id                     = map.WORKER_ID       (+)     and
        'P'                             = map.EXTRACTION_TYPE (+)     and
        rmr.EXPENDITURE_ORGANIZATION_ID = map.ORGANIZATION_ID (+)     and
        rmr.TIME_ID between to_number(to_char(map.START_DATE (+), 'J')) and
                            to_number(to_char(map.END_DATE (+), 'J')) and
        map.WORKER_ID                   is null                       and
        p_worker_id                     = fm_map.WORKER_ID       (+)  and
        'P'                             = fm_map.EXTRACTION_TYPE (+)  and
        rmr.PROJECT_ID                  = fm_map.PROJECT_ID      (+)  and
        fm_map.WORKER_ID                is null                       and
        rmr.EXPENDITURE_ORG_ID          = info.ORG_ID
      union all  --  JOB_ID Util --> Non-Util corrections
      select /*+ ordered
                 full(delta)
                 full(info)
             */
        rmr.RECORD_TYPE,
        rmr.PROJECT_ID,
        rmr.PERSON_ID,
        rmr.EXPENDITURE_ORG_ID,
        rmr.EXPENDITURE_ORGANIZATION_ID,
        rmr.WORK_TYPE_ID,
        rmr.JOB_ID,
        rmr.TIME_ID,
        rmr.PERIOD_TYPE_ID,
        rmr.CALENDAR_TYPE,
        info.GL_CALENDAR_ID,
        info.PA_CALENDAR_ID,
        -rmr.CAPACITY_HRS,
        -rmr.TOTAL_HRS_A,
        -rmr.BILL_HRS_A,
        -rmr.CONF_HRS_S,
        -rmr.PROV_HRS_S,
        -rmr.UNASSIGNED_HRS_S,
        -rmr.CONF_OVERCOM_HRS_S,
        -rmr.PROV_OVERCOM_HRS_S
      from
        PJI_RES_DELTA delta,
        PJI_RM_RES_WT_F rmr,
        PJI_ORG_EXTR_INFO info
      where
        l_extraction_type   = 'INCREMENTAL'       and
        delta.CHANGE_TYPE   = 'N'                 and
        delta.PERSON_ID     = rmr.PERSON_ID       and
        rmr.PERIOD_TYPE_ID  = 1                   and
        rmr.TIME_ID between to_number(to_char(delta.START_DATE, 'J')) and
                            to_number(to_char(delta.END_DATE, 'J')) and
        rmr.EXPENDITURE_ORG_ID = info.ORG_ID
      union all     -- JOB_ID corrections for 'A' slice of rmr
      select /*+ ordered
                 full(tmp3)
                 parallel(rmr) */
        'A'                                 RECORD_TYPE,
        rmr.PROJECT_ID,
        rmr.PERSON_ID,
        rmr.EXPENDITURE_ORG_ID,
        rmr.EXPENDITURE_ORGANIZATION_ID,
        rmr.WORK_TYPE_ID,
        case when invert.INVERT_ID = 'TMP3'
             then tmp3.JOB_ID
             when invert.INVERT_ID = 'RMR'
             then rmr.JOB_ID
             end                            JOB_ID,
        rmr.TIME_ID,
        rmr.PERIOD_TYPE_ID,
        rmr.CALENDAR_TYPE,
        tmp3.GL_CALENDAR_ID,
        tmp3.PA_CALENDAR_ID,
        case when invert.INVERT_ID = 'TMP3'
             then rmr.CAPACITY_HRS
             when invert.INVERT_ID = 'RMR'
             then -rmr.CAPACITY_HRS
             end                            CAPACITY_HRS,
        case when invert.INVERT_ID = 'TMP3'
             then rmr.TOTAL_HRS_A
             when invert.INVERT_ID = 'RMR'
             then -rmr.TOTAL_HRS_A
             end                            TOTAL_HRS_A,
        case when invert.INVERT_ID = 'TMP3'
             then rmr.BILL_HRS_A
             when invert.INVERT_ID = 'RMR'
             then -rmr.BILL_HRS_A
             end                            BILL_HRS_A,
        case when invert.INVERT_ID = 'TMP3'
             then rmr.CONF_HRS_S
             when invert.INVERT_ID = 'RMR'
             then -rmr.CONF_HRS_S
             end                            CONF_HRS_S,
        case when invert.INVERT_ID = 'TMP3'
             then rmr.PROV_HRS_S
             when invert.INVERT_ID = 'RMR'
             then -rmr.PROV_HRS_S
             end                            PROV_HRS_S,
        case when invert.INVERT_ID = 'TMP3'
             then rmr.UNASSIGNED_HRS_S
             when invert.INVERT_ID = 'RMR'
             then -rmr.UNASSIGNED_HRS_S
             end                            UNASSIGNED_HRS_S,
        case when invert.INVERT_ID = 'TMP3'
             then rmr.CONF_OVERCOM_HRS_S
             when invert.INVERT_ID = 'RMR'
             then -rmr.CONF_OVERCOM_HRS_S
             end                            CONF_OVERCOM_HRS_S,
        case when invert.INVERT_ID = 'TMP3'
             then rmr.PROV_OVERCOM_HRS_S
             when invert.INVERT_ID = 'RMR'
             then -rmr.PROV_OVERCOM_HRS_S
             end                            PROV_OVERCOM_HRS_S
      from
        PJI_RM_AGGR_RES3 tmp3,
        PJI_RM_RES_WT_F  rmr,
        PJI_RES_DELTA    delta,
        (
        select 'TMP3' INVERT_ID from dual union all
        select 'RMR'  INVERT_ID from dual
        ) invert
      where
        l_extraction_type  <> 'PARTIAL'                                     and
        tmp3.WORKER_ID      = p_worker_id                                   and
        'A'                 = rmr.RECORD_TYPE                               and
        tmp3.PERSON_ID      = rmr.PERSON_ID                                 and
        tmp3.JOB_ID        <> rmr.JOB_ID                                    and
        tmp3.TIME_ID        = rmr.TIME_ID                                   and
        1                   = rmr.PERIOD_TYPE_ID                            and
        tmp3.CALENDAR_TYPE  = rmr.CALENDAR_TYPE                             and
        'N'                 = delta.CHANGE_TYPE (+)                         and
        rmr.PERSON_ID       = delta.PERSON_ID (+)                           and
        rmr.TIME_ID        >= to_number(to_char(delta.START_DATE (+), 'J')) and
        rmr.TIME_ID        <= to_number(to_char(delta.END_DATE (+), 'J'))   and
        delta.PERSON_ID     is null
      union all     -- JOB_ID lookups for assignments in tmp1
      select /*+ ordered index(tmp3, PJI_RM_AGGR_RES3_N1)
                         index(rmr, PJI_RM_RES_WT_F_N2)
                         parallel(rmr) */
        'A' RECORD_TYPE,
        tmp1.PROJECT_ID,
        tmp1.PERSON_ID,
        tmp1.EXPENDITURE_ORG_ID,
        tmp1.EXPENDITURE_ORGANIZATION_ID,
        tmp1.WORK_TYPE_ID,
        nvl(tmp3.JOB_ID, nvl(rmr.JOB_ID, -1)) JOB_ID,
        tmp1.TIME_ID,
        tmp1.PERIOD_TYPE_ID,
        tmp1.CALENDAR_TYPE,
        tmp1.GL_CALENDAR_ID,
        tmp1.PA_CALENDAR_ID,
        tmp1.CAPACITY_HRS,
        tmp1.TOTAL_HRS_A,
        tmp1.BILL_HRS_A,
        tmp1.CONF_HRS_S,
        tmp1.PROV_HRS_S,
        tmp1.UNASSIGNED_HRS_S,
        tmp1.CONF_OVERCOM_HRS_S,
        tmp1.PROV_OVERCOM_HRS_S
      from
        PJI_RM_AGGR_RES1 tmp1,
        PJI_RM_AGGR_RES3 tmp3,
        PJI_RM_RES_WT_F  rmr
      where
        tmp1.WORKER_ID             = p_worker_id                          and
        tmp1.RECORD_TYPE           = 'N'                                  and
        p_worker_id                = tmp3.WORKER_ID                   (+) and
        tmp1.PERSON_ID             = tmp3.PERSON_ID                   (+) and
        tmp1.TIME_ID               = tmp3.TIME_ID                     (+) and
        tmp1.PERIOD_TYPE_ID        = 1                                    and
        tmp1.CALENDAR_TYPE         = tmp3.CALENDAR_TYPE               (+) and
        'U'                        = rmr.RECORD_TYPE                  (+) and
        tmp1.PERSON_ID             = rmr.PERSON_ID                    (+) and
        tmp1.EXPENDITURE_ORG_ID    = rmr.EXPENDITURE_ORG_ID           (+) and
        tmp1.EXPENDITURE_ORGANIZATION_ID
                                   = rmr.EXPENDITURE_ORGANIZATION_ID  (+) and
        tmp1.TIME_ID               = rmr.TIME_ID                      (+) and
        tmp1.PERIOD_TYPE_ID        = rmr.PERIOD_TYPE_ID               (+) and
        tmp1.CALENDAR_TYPE         = rmr.CALENDAR_TYPE                (+)
      union all -- reversals for deleted projects
      select /*+ ordered
                 index(rmr, PJI_RM_RES_WT_F_N3)
                 full(delta)
                 full(info)
             */
        rmr.RECORD_TYPE,
        rmr.PROJECT_ID,
        rmr.PERSON_ID,
        rmr.EXPENDITURE_ORG_ID,
        rmr.EXPENDITURE_ORGANIZATION_ID,
        rmr.WORK_TYPE_ID,
        rmr.JOB_ID,
        rmr.TIME_ID,
        rmr.PERIOD_TYPE_ID,
        rmr.CALENDAR_TYPE,
        info.GL_CALENDAR_ID,
        info.PA_CALENDAR_ID,
        -rmr.CAPACITY_HRS,
        -rmr.TOTAL_HRS_A,
        -rmr.BILL_HRS_A,
        -rmr.CONF_HRS_S,
        -rmr.PROV_HRS_S,
        -rmr.UNASSIGNED_HRS_S,
        -rmr.CONF_OVERCOM_HRS_S,
        -rmr.PROV_OVERCOM_HRS_S
      from
        (
        select
          PROJECT_ID
        from
          (
          select /*+ index_ffs(rmr, PJI_RM_RES_WT_F_N3)
                      parallel_index(rmr, PJI_RM_RES_WT_F_N3) */
            distinct
            PROJECT_ID
          from
            PJI_RM_RES_WT_F rmr
          where
            PROJECT_ID is not null and
            PROJECT_ID <> -1
          ) pji
        where
          not exists (select 1
                      from  PA_PROJECTS_ALL pa
                      where  pa.PROJECT_ID = pji.PROJECT_ID)
        ) prj,
        PJI_RM_RES_WT_F rmr,
        PJI_RES_DELTA delta,
        PJI_ORG_EXTR_INFO info
      where
        l_extraction_type      = 'INCREMENTAL'                          and
        rmr.PROJECT_ID         = prj.PROJECT_ID                         and
        rmr.PERIOD_TYPE_ID     = 1                                      and
        rmr.TIME_ID between to_number(to_char(delta.START_DATE (+), 'J')) and
                            to_number(to_char(delta.END_DATE (+), 'J')) and
        rmr.PERSON_ID          = delta.PERSON_ID (+)                    and
        delta.PERSON_ID        is null                                  and
        rmr.EXPENDITURE_ORG_ID = info.ORG_ID
      )
    group by
      RECORD_TYPE,
      PROJECT_ID,
      PERSON_ID,
      EXPENDITURE_ORG_ID,
      EXPENDITURE_ORGANIZATION_ID,
      WORK_TYPE_ID,
      JOB_ID,
      TIME_ID,
      PERIOD_TYPE_ID,
      CALENDAR_TYPE,
      GL_CALENDAR_ID,
      PA_CALENDAR_ID;
Line: 1485

    insert /*+ append */ into PJI_HELPER_BATCH_MAP
    (
      BATCH_ID,
      WORKER_ID,
      STATUS
    )
    select
      distinct
      BATCH_ID,
      null,
      null
    from
      PJI_RM_REXT_FCSTITEM
    where
      PJI_SUMMARIZED_FLAG is not null;
Line: 1518

  l_last_update_date    date;
Line: 1519

  l_last_updated_by     number;
Line: 1523

  l_program_update_date date;
Line: 1537

    l_last_update_date  := sysdate;
Line: 1538

    l_last_updated_by   := FND_GLOBAL.USER_ID;
Line: 1542

    l_program_update_date := sysdate;
Line: 1547

      update    PJI_HELPER_BATCH_MAP
      set       WORKER_ID = p_worker_id,
                STATUS = 'P'
      where     WORKER_ID is null and
                ROWNUM = 1
      returning BATCH_ID
      into      l_helper_batch_id;
Line: 1559

        update PA_FORECAST_ITEM_DETAILS
        set
          PJI_SUMMARIZED_FLAG    = null,
          LAST_UPDATE_DATE       = l_last_update_date,
          LAST_UPDATED_BY        = l_last_updated_by,
          REQUEST_ID             = l_request_id,
          PROGRAM_APPLICATION_ID = l_program_appl_id,
          PROGRAM_ID             = l_program_id,
          PROGRAM_UPDATE_DATE    = l_program_update_date
        where
          ROWID in
          (
            select /*+ cardinality(fcst, 1) */
              fcst.FID_ROWID
            from
              PJI_RM_REXT_FCSTITEM fcst
            where
              fcst.PJI_SUMMARIZED_FLAG = 'N' and
              fcst.BATCH_ID = l_helper_batch_id
          );
Line: 1580

        update PJI_HELPER_BATCH_MAP
        set    STATUS = 'C'
        where  WORKER_ID = p_worker_id and
               BATCH_ID = l_helper_batch_id;
Line: 1589

        select count(*)
        into   l_row_count
        from   PJI_HELPER_BATCH_MAP
        where  nvl(STATUS, 'X') <> 'C';
Line: 1600

            update PJI_SYSTEM_PRC_STATUS
            set    STEP_STATUS = 'C'
            where  PROCESS_NAME like PJI_RM_SUM_MAIN.g_process|| to_char(x) and
                   STEP_NAME = 'PJI_RM_SUM_EXTR.MARK_EXTRACTED_ROWS(p_worker_id);' and
Line: 1709

    delete
    from   PJI_FM_AGGR_DLY_RATES
    where  WORKER_ID = -1;
Line: 1769

    PJI_RM_SUM_AVL.UPDATE_RES_STATUS;
Line: 1782

    PJI_PJI_EXTRACTION_UTILS.UPDATE_PJI_ORG_HRCHY;
Line: 1784

    PJI_FM_PLAN_EXTR.UPDATE_PLAN_ORG_INFO(p_worker_id);
Line: 1797

    PJI_FM_PLAN_EXTR.EXTRACT_UPDATED_VERSIONS(p_worker_id);
Line: 1799

    PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS_PRE(p_worker_id);
Line: 1802

             'PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS(p_worker_id);',
Line: 1806

    PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS_POST(p_worker_id);
Line: 1807

    PJI_FM_PLAN_EXTR.UPDATE_BATCH_STATUSES(p_worker_id);
Line: 1844

    PJI_FM_SUM_BKLG.UPDATE_ACTIVITY_DATES_FIN(p_worker_id);
Line: 1846

    PJI_FM_SUM_BKLG.UPDATE_ACTIVITY_DATES_ACT(p_worker_id);
Line: 1890

    PJI_RM_SUM_AVL.UPDATE_RES_STA_FOR_RUN2(p_worker_id);
Line: 1981

             'PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS_PRE(p_worker_id);',
Line: 1987

    PJI_FM_PLAN_EXTR.UPDATE_BATCH_VERSIONS(p_worker_id);
Line: 2009

            'PJI_RM_SUM_AVL.UPDATE_RES_STA_FOR_RUN2(p_worker_id);',