DBA Data[Home] [Help]

APPS.PJI_FM_EXTR SQL Statements

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

Line: 24

    INSERT /*+ APPEND */ INTO PJI_FM_EXTR_FUNDG
    (
     worker_id
    ,project_org_id
    ,project_organization_id
    ,project_id
    ,customer_id
    ,date_allocated
    ,funding_category
    ,pou_allocated_amount
    ,prj_allocated_amount
    ,pji_summarized_flag
    ,row_id
    ,batch_id
    )
    SELECT /*+ ordered
               full(bat)  use_hash(bat)  parallel(bat)
               full(pf)   use_hash(pf)   parallel(pf)
               full(arg)  use_hash(agr)  parallel(agr)
               full(cust) use_hash(cust) parallel(cust) */
     p_worker_id                        WORKER_ID
    ,nvl(bat.project_org_id, -1)        PROJECT_OU_ID
    ,bat.project_organization_id        PROJECT_ORG_ID
    ,pf.project_id                      PROJECT_ID
    ,agr.customer_id                                CUSTOMER_ID
    ,trunc(pf.date_allocated)                       DATE_ALLOCATED
    ,nvl(pf.funding_category,
         PJI_FM_SUM_MAIN.g_null)        FUNDING_CATEGORY
    ,pf.projfunc_allocated_amount       POU_ALLOCATED_AMOUNT
    ,pf.project_allocated_amount        PRJ_ALLOCATED_AMOUNT
    ,pf.pji_summarized_flag             PJI_SUMMARIZED_FLAG
    ,pf.rowid                           ROW_ID
    ,ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) BATCH_ID
    FROM  pji_fm_proj_batch_map                 bat
         ,pa_project_fundings                   pf
         ,pa_agreements_all                     agr
         ,pa_project_customers                  cust
    WHERE l_extraction_type = 'FULL'
    AND   pf.agreement_id            = agr.agreement_id
    AND   pf.project_id                      = bat.project_id
    AND   bat.worker_id                      = p_worker_id
    AND   bat.extraction_type = 'F'
    AND   pf.project_id   = cust.project_id
    AND   pf.BUDGET_TYPE_CODE = 'BASELINE'
    AND   agr.customer_id  = cust.customer_id
--    AND   NVL(cust.bill_another_project_flag,'N') <> 'Y' -- ER 6519955
    AND   pf.date_allocated is not null
    union all
    SELECT /*+ ordered
               full(bat)
               index(pf,PA_PROJECT_FUNDINGS_N2)  use_nl(pf)
           */
     p_worker_id                        WORKER_ID
    ,nvl(bat.project_org_id, -1)        PROJECT_OU_ID
    ,bat.project_organization_id        PROJECT_ORG_ID
    ,pf.project_id                      PROJECT_ID
    ,agr.customer_id                                CUSTOMER_ID
    ,trunc(pf.date_allocated)                       DATE_ALLOCATED
    ,nvl(pf.funding_category,
         PJI_FM_SUM_MAIN.g_null)        FUNDING_CATEGORY
    ,pf.projfunc_allocated_amount       POU_ALLOCATED_AMOUNT
    ,pf.project_allocated_amount        PRJ_ALLOCATED_AMOUNT
    ,pf.pji_summarized_flag             PJI_SUMMARIZED_FLAG
    ,pf.rowid                           ROW_ID
    ,ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) BATCH_ID
    FROM  pji_fm_proj_batch_map                 bat
         ,pa_project_fundings                   pf
         ,pa_agreements_all                     agr
         ,pa_project_customers                  cust
    WHERE l_extraction_type = 'INCREMENTAL'
    AND   pf.agreement_id            = agr.agreement_id
    AND   pf.project_id                      = bat.project_id
    AND   bat.worker_id                      = p_worker_id
    AND   bat.extraction_type = 'F'
    AND   pf.project_id   = cust.project_id
    AND   pf.BUDGET_TYPE_CODE = 'BASELINE'
    AND   agr.customer_id  = cust.customer_id
--    AND   NVL(cust.bill_another_project_flag,'N') <> 'Y' -- ER 6519955
    AND   pf.date_allocated is not null
    union all
    SELECT /*+ ordered
               index(pf, PA_PROJECT_FUNDINGS_N4)
           */
     p_worker_id                        WORKER_ID
    ,nvl(bat.project_org_id, -1)        PROJECT_OU_ID
    ,bat.project_organization_id        PROJECT_ORG_ID
    ,pf.project_id                      PROJECT_ID
    ,agr.customer_id                                CUSTOMER_ID
    ,trunc(pf.date_allocated)                       DATE_ALLOCATED
    ,nvl(pf.funding_category,
         PJI_FM_SUM_MAIN.g_null)        FUNDING_CATEGORY
    ,pf.projfunc_allocated_amount       POU_ALLOCATED_AMOUNT
    ,pf.project_allocated_amount        PRJ_ALLOCATED_AMOUNT
    ,pf.pji_summarized_flag             PJI_SUMMARIZED_FLAG
    ,pf.rowid                           ROW_ID
    ,ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) BATCH_ID
    FROM  pji_fm_proj_batch_map                 bat
         ,pa_project_fundings                   pf
         ,pa_agreements_all                     agr
         ,pa_project_customers                  cust
    WHERE l_extraction_type = 'INCREMENTAL'
    AND   pf.agreement_id            = agr.agreement_id
    AND   pf.project_id                      = bat.project_id
    AND   bat.worker_id                       = p_worker_id
    AND   bat.extraction_type = 'I'
    AND   pf.pji_summarized_flag = 'N'
    AND   pf.project_id   = cust.project_id
    AND   pf.BUDGET_TYPE_CODE = 'BASELINE'
    AND   agr.customer_id  = cust.customer_id
--    AND   NVL(cust.bill_another_project_flag,'N') <> 'Y' -- ER 6519955
    AND   pf.date_allocated is not null
    union all
    SELECT /*+ ordered
               full(bat)  use_hash(bat)  parallel(bat)
               full(pf)   use_hash(pf)   parallel(pf)
               full(arg)  use_hash(agr)  parallel(ag)
               full(cust) use_hash(cust) parallel(cust)  */
     p_worker_id                        WORKER_ID
    ,nvl(bat.project_org_id, -1)        PROJECT_OU_ID
    ,bat.project_organization_id        PROJECT_ORG_ID
    ,pf.project_id                      PROJECT_ID
    ,agr.customer_id                                CUSTOMER_ID
    ,trunc(pf.date_allocated)                       DATE_ALLOCATED
    ,nvl(pf.funding_category,
         PJI_FM_SUM_MAIN.g_null)        FUNDING_CATEGORY
    ,pf.projfunc_allocated_amount       POU_ALLOCATED_AMOUNT
    ,pf.project_allocated_amount        PRJ_ALLOCATED_AMOUNT
    ,pf.pji_summarized_flag             PJI_SUMMARIZED_FLAG
    ,pf.rowid                           ROW_ID
    ,ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) BATCH_ID
    FROM  pji_fm_proj_batch_map                 bat
         ,pa_project_fundings                   pf
         ,pa_agreements_all                     agr
         ,pa_project_customers                  cust
    WHERE l_extraction_type = 'PARTIAL'
    AND   pf.agreement_id            = agr.agreement_id
    AND   pf.project_id                      = bat.project_id
    AND   bat.worker_id                       = p_worker_id
    AND   bat.extraction_type = 'P'
    AND   pf.project_id   = cust.project_id
    AND   pf.BUDGET_TYPE_CODE = 'BASELINE'
    AND   agr.customer_id  = cust.customer_id
--    AND   NVL(cust.bill_another_project_flag,'N') <> 'Y' -- ER 6519955
    AND   pf.date_allocated is not null;
Line: 192

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

    select count(*)
    into   l_leftover_batches
    from   PJI_HELPER_BATCH_MAP
    where  WORKER_ID = p_worker_id and
           STATUS = 'P';
Line: 252

        select  BATCH_ID
        into    l_helper_batch_id
        from    PJI_HELPER_BATCH_MAP
        where   WORKER_ID = p_worker_id and
                STATUS = 'P' and
                ROWNUM = 1;
Line: 261

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

        update pa_project_fundings
        set    pji_summarized_flag = NULL
        where  rowid in (select /*+ cardinality(fnd, 1) */
                                fnd.row_id
                         from   PJI_FM_EXTR_FUNDG fnd
                         where  fnd.pji_summarized_flag is not null and
                                fnd.batch_id = l_helper_batch_id);
Line: 283

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

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

            update PJI_SYSTEM_PRC_STATUS
            set    STEP_STATUS = 'C'
            where  PROCESS_NAME like PJI_FM_SUM_MAIN.g_process || x and
                   STEP_NAME =
                     'PJI_FM_EXTR.MARK_EXTRACTED_FND_ROWS(p_worker_id);' and
Line: 400

    INSERT /*+ APPEND */ INTO PJI_FM_EXTR_DREVN
    (
      ROW_ID
    , WORKER_ID
    , LINE_SOURCE_TYPE
    , POU_UBR
    , POU_UER
    , PROJECT_ORG_ID
    , PROJECT_ORGANIZATION_ID
    , PROJECT_ID
    , PROJECT_TYPE_CLASS
    , DRAFT_REVENUE_NUM
    , AGREEMENT_ID
    , PA_DATE
    , PA_PERIOD_NAME
    , GL_DATE
    , GL_PERIOD_NAME
    , LOG_EVENT_ID
    , PJI_SUMMARIZED_FLAG
    , CUSTOMER_ID
    , BATCH_ID
    )
      SELECT /*+ ordered
                 full(bat) use_hash(bat) parallel(bat)
                 full(drv) use_hash(drv) parallel(drv)
                 full(agr) use_hash(agr) parallel(agr) */
        drv.rowid                         row_id
      , p_worker_id                       worker_id
      , 'R'                               line_source_type
      , drv.unbilled_receivable_dr        POU_ubr
      , drv.unearned_revenue_cr           POU_uer
      , nvl(bat.project_org_id, -1)       project_org_id
      , bat.project_organization_id       project_organization_id /*also PSI */
      , drv.project_id                    project_id
      , bat.project_type_class            project_type_class
      , drv.draft_revenue_num             draft_revenue_num
      , drv.agreement_id                  agreement_id
      , drv.pa_date                       pa_date
      , drv.pa_period_name                pa_period_name
      , drv.gl_date                       gl_date
      , drv.gl_period_name                gl_period_name
      , -1                                log_event_id
      , drv.pji_summarized_flag           PJI_SUMMARIZED_FLAG
      , agr.customer_id                   customer_id
      , ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) batch_id
      FROM
              pji_fm_proj_batch_map            bat
            , pa_draft_revenues_all            drv
            , pa_agreements_all                agr
      WHERE
            l_extraction_type = 'FULL'
        and bat.worker_id = p_worker_id
        and bat.project_id = drv.project_id
        and drv.released_date IS NOT NULL
        and drv.transfer_status_code = 'A'
        and bat.extraction_type = 'F'
        and drv.gl_date is not null
        and drv.pa_date is not null
        and agr.agreement_id = drv.agreement_id
        and ((nvl(l_transition_flag, 'N') = 'N') or
             (nvl(l_transition_flag, 'N') = 'Y' and
              nvl(drv.pji_summarized_flag, 'Y') <> 'N'))
      union all
      SELECT /*+ ordered
                 full(bat)
                 index(drv, PA_DRAFT_REVENUES_U1)   use_nl(drv)
             */
        drv.rowid                         row_id
      , p_worker_id                       worker_id
      , 'R'                               line_source_type
      , drv.unbilled_receivable_dr        POU_ubr
      , drv.unearned_revenue_cr           POU_uer
      , nvl(bat.project_org_id, -1)       project_org_id
      , bat.project_organization_id       project_organization_id /*also PSI */
      , drv.project_id                    project_id
      , bat.project_type_class            project_type_class
      , drv.draft_revenue_num             draft_revenue_num
      , drv.agreement_id                  agreement_id
      , drv.pa_date                       pa_date
      , drv.pa_period_name                pa_period_name
      , drv.gl_date                       gl_date
      , drv.gl_period_name                gl_period_name
      , -1                                log_event_id
      , drv.pji_summarized_flag           PJI_SUMMARIZED_FLAG
      , agr.customer_id                   customer_id
      , ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) batch_id
      FROM
              pji_fm_proj_batch_map            bat
            , pa_draft_revenues_all            drv
            , pa_agreements_all                agr
      WHERE
            l_extraction_type = 'INCREMENTAL'
        and bat.worker_id = p_worker_id
        and bat.project_id = drv.project_id
        and drv.released_date IS NOT NULL
        and drv.transfer_status_code = 'A'
        and bat.extraction_type = 'F'
        and drv.gl_date is not null
        and drv.pa_date is not null
        and agr.agreement_id = drv.agreement_id
      union all
      SELECT /*+ ordered
                 full(bat) use_hash(bat)
                 index(drv,PA_DRAFT_REVENUES_N12)
             */
        drv.rowid                         row_id
      , p_worker_id                       worker_id
      , 'R'                               line_source_type
      , drv.unbilled_receivable_dr        POU_ubr
      , drv.unearned_revenue_cr           POU_uer
      , nvl(bat.project_org_id, -1)       project_org_id
      , bat.project_organization_id       project_organization_id /*also PSI */
      , drv.project_id                    project_id
      , bat.project_type_class            project_type_class
      , drv.draft_revenue_num             draft_revenue_num
      , drv.agreement_id                  agreement_id
      , drv.pa_date                       pa_date
      , drv.pa_period_name                pa_period_name
      , drv.gl_date                       gl_date
      , drv.gl_period_name                gl_period_name
      , -1                                log_event_id
      , drv.pji_summarized_flag           PJI_SUMMARIZED_FLAG
      , agr.customer_id                   customer_id
      , ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) batch_id
      FROM
              pji_fm_proj_batch_map            bat
            , pa_draft_revenues_all            drv
            , pa_agreements_all                agr
      WHERE
            l_extraction_type = 'INCREMENTAL'
        and bat.worker_id = p_worker_id
        and bat.project_id = drv.project_id
        and drv.released_date IS NOT NULL
        and drv.transfer_status_code = 'A'
        and bat.extraction_type = 'I'
        and drv.pji_summarized_flag = 'N'
        and drv.gl_date is not null
        and drv.pa_date is not null
        and agr.agreement_id = drv.agreement_id
      union all
      SELECT /*+ ordered
                 full(bat) use_hash(bat)   parallel(bat)
                 full(drv) use_hash(drv)   parallel(drv)
                 full(agr) use_hash(agr)   parallel(agr)  */
        drv.rowid                         row_id
      , p_worker_id                       worker_id
      , 'R'                               line_source_type
      , drv.unbilled_receivable_dr        POU_ubr
      , drv.unearned_revenue_cr           POU_uer
      , nvl(bat.project_org_id, -1)       project_org_id
      , bat.project_organization_id       project_organization_id /*also PSI */
      , drv.project_id                    project_id
      , bat.project_type_class            project_type_class
      , drv.draft_revenue_num             draft_revenue_num
      , drv.agreement_id                  agreement_id
      , drv.pa_date                       pa_date
      , drv.pa_period_name                pa_period_name
      , drv.gl_date                       gl_date
      , drv.gl_period_name                gl_period_name
      , -1                                log_event_id
      , drv.pji_summarized_flag           PJI_SUMMARIZED_FLAG
      , agr.customer_id                   customer_id
      , ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) batch_id
      FROM
              pji_fm_proj_batch_map            bat
            , pa_draft_revenues_all            drv
            , pa_agreements_all                agr
      WHERE
            l_extraction_type = 'PARTIAL'
        and bat.worker_id = p_worker_id
        and bat.project_id = drv.project_id
        and drv.released_date IS NOT NULL
        and drv.transfer_status_code = 'A'
        and bat.extraction_type = 'P'
        and drv.gl_date is not null
        and drv.pa_date is not null
        and agr.agreement_id = drv.agreement_id
      union all
      SELECT  /*+ ordered
                  index(log, PA_PJI_PROJ_EVENTS_LOG_N1)
                  full(imp)    use_hash(imp)
                  full(paprd)  use_hash(paprd)
                  full(glprd)  use_hash(glprd)
                  full(sob)    use_hash(sob)
              */
        log.rowid                    row_id
      , p_worker_id                  worker_id
      , 'L'                          line_source_type
      , -to_number(log.attribute2)   POU_ubr
      , -to_number(log.attribute3)   POU_uer
      , nvl(bat.project_org_id, -1)  project_org_id
      , bat.project_organization_id  project_organization_id /* also PSI */
      , to_number(log.event_object)  project_id
      , bat.project_type_class       project_type_class
      , to_number(log.attribute1)    draft_revenue_num
      , to_number(log.attribute4)    agreement_id
      , to_date(log.attribute5, PJI_FM_SUM_MAIN.g_date_mask) pa_date
      , paprd.period_name                                    pa_period_name
      , to_date(log.attribute6, PJI_FM_SUM_MAIN.g_date_mask) gl_date
      , glprd.period_name                                    gl_period_name
      , log.event_id                 log_event_id
      , null                         pji_summarized_flag
      , agr.customer_id              customer_id
      , ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold) batch_id
      FROM
              pa_pji_proj_events_log           log
            , pji_fm_proj_batch_map            bat
            , pa_agreements_all                agr
     /* Note:
      * The tables below are not needed if Billing Team
      * populates the PA and GL period_names while
      * inserting records into the log table
      */
            , pa_implementations_all           imp
            , gl_periods                       paprd
            , gl_periods                       glprd
            , gl_sets_of_books                 sob
      WHERE
            l_extraction_type = 'INCREMENTAL'
        and bat.worker_id   = p_worker_id
        and bat.project_id = log.event_object
        and log.event_type = 'DRAFT_REVENUES'
        and log.attribute5 is not null
        and log.attribute6 is not null
        and agr.agreement_id = to_number(log.attribute4)
        and bat.extraction_type = 'I'
        and nvl(bat.PROJECT_ORG_ID,-1) = nvl(imp.org_id ,-1)
        and imp.period_set_name = paprd.period_set_name
        and imp.pa_period_type = paprd.period_type
        and to_date(log.attribute5, PJI_FM_SUM_MAIN.g_date_mask)
            between paprd.START_DATE and paprd.END_DATE
        and imp.period_set_name = glprd.period_set_name
        and imp.set_of_books_id = sob.set_of_books_id
        and sob.accounted_period_type = glprd.period_type
        and to_date(log.attribute6, PJI_FM_SUM_MAIN.g_date_mask)
            between glprd.START_DATE and glprd.END_DATE
        ;
Line: 661

    insert /*+ append */ into PJI_HELPER_BATCH_MAP
    (
      BATCH_ID,
      WORKER_ID,
      STATUS
    )
    select
      distinct
      BATCH_ID,
      null,
      null
    from
      PJI_FM_EXTR_DREVN
    where
      (LINE_SOURCE_TYPE = 'R' and
       PJI_SUMMARIZED_FLAG is not null) or
      (LINE_SOURCE_TYPE = 'L');
Line: 709

    select count(*)
    into   l_leftover_batches
    from   PJI_HELPER_BATCH_MAP
    where  WORKER_ID = p_worker_id and
           STATUS = 'P';
Line: 723

        select  BATCH_ID
        into    l_helper_batch_id
        from    PJI_HELPER_BATCH_MAP
        where   WORKER_ID = p_worker_id and
                STATUS = 'P' and
                ROWNUM = 1;
Line: 732

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

        UPDATE pa_draft_revenues_all    drv
        SET    drv.pji_summarized_flag = null
        WHERE  drv.rowid in (select /*+ cardinality(drvn, 1) */
                                    drvn.row_id
                             from   PJI_FM_EXTR_DREVN drvn
                             where  drvn.pji_summarized_flag is not null
                               and  drvn.LINE_SOURCE_TYPE = 'R'
                               and  drvn.batch_id = l_helper_batch_id);
Line: 757

        DELETE pa_pji_proj_events_log
        WHERE  rowid in (select row_id
                         from   PJI_FM_EXTR_DREVN
                         where  line_source_type = 'L'
                           and  batch_id = l_helper_batch_id);
Line: 763

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

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

            update PJI_SYSTEM_PRC_STATUS
            set    STEP_STATUS = 'C'
            where  PROCESS_NAME like PJI_FM_SUM_MAIN.g_process || x and
                   STEP_NAME =
                     'PJI_FM_EXTR.MARK_EXTRACTED_DREV(p_worker_id);' and
Line: 889

        delete /*+ index (log, PA_PJI_PROJ_EVENTS_LOG_N1) */
        from   PA_PJI_PROJ_EVENTS_LOG log
        where  EVENT_TYPE = 'DRAFT_REVENUES';
Line: 911

      INSERT /*+ APPEND PARALLEL(fin1_i) */ INTO PJI_FM_AGGR_FIN1 fin1_i
       ( WORKER_ID
       , SLICE_ID
       , PROJECT_ID
       , TASK_ID
       , PERSON_ID
       , PROJECT_ORG_ID
       , PROJECT_ORGANIZATION_ID
       , PROJECT_TYPE_CLASS
       , CUSTOMER_ID
       , EXPENDITURE_ORG_ID
       , EXPENDITURE_ORGANIZATION_ID
       , JOB_ID
       , VENDOR_ID
       , WORK_TYPE_ID
       , EXP_EVT_TYPE_ID
       , EXPENDITURE_TYPE
       , EVENT_TYPE
       , EVENT_TYPE_CLASSIFICATION
       , EXPENDITURE_CATEGORY
       , REVENUE_CATEGORY
       , NON_LABOR_RESOURCE
       , BOM_LABOR_RESOURCE_ID
       , BOM_EQUIPMENT_RESOURCE_ID
       , INVENTORY_ITEM_ID
       , PO_LINE_ID
       , ASSIGNMENT_ID
       , SYSTEM_LINKAGE_FUNCTION
       , PJI_PROJECT_RECORD_FLAG
       , PJI_RESOURCE_RECORD_FLAG
       , CODE_COMBINATION_ID
       , PRVDR_GL_DATE
       , RECVR_GL_DATE
       , GL_PERIOD_NAME
       , PRVDR_PA_DATE
       , RECVR_PA_DATE
       , PA_PERIOD_NAME
       , EXPENDITURE_ITEM_DATE
       , TXN_CURRENCY_CODE
       , TXN_REVENUE
       , TXN_RAW_COST
       , TXN_BILL_RAW_COST
       , TXN_BURDENED_COST
       , TXN_BILL_BURDENED_COST
       , TXN_UBR
       , TXN_UER
       , PRJ_REVENUE
       , PRJ_RAW_COST
       , PRJ_BILL_RAW_COST
       , PRJ_BURDENED_COST
       , PRJ_BILL_BURDENED_COST
       , PRJ_UBR
       , PRJ_UER
       , POU_REVENUE
       , POU_RAW_COST
       , POU_BILL_RAW_COST
       , POU_BURDENED_COST
       , POU_BILL_BURDENED_COST
       , POU_UBR
       , POU_UER
       , EOU_RAW_COST
       , EOU_BILL_RAW_COST
       , EOU_BURDENED_COST
       , EOU_BILL_BURDENED_COST
       , EOU_UBR
       , EOU_UER
       , QUANTITY
       , BILL_QUANTITY
       , CBS_ELEMENT_ID          /* Added for CBS Changes */
       )
       SELECT
          grp.WORKER_ID
        , grp.SLICE_ID
        , grp.PROJECT_ID
        , grp.TASK_ID
        , grp.PERSON_ID
        , grp.PROJECT_ORG_ID
        , grp.PROJECT_ORGANIZATION_ID
        , grp.PROJECT_TYPE_CLASS
        , grp.CUSTOMER_ID
        , grp.EXPENDITURE_ORG_ID
        , grp.EXPENDITURE_ORGANIZATION_ID
        , grp.JOB_ID
        , grp.VENDOR_ID
        , grp.WORK_TYPE_ID
        , grp.EXP_EVT_TYPE_ID
        , grp.EXPENDITURE_TYPE
        , grp.EVENT_TYPE
        , grp.EVENT_TYPE_CLASSIFICATION
        , grp.EXPENDITURE_CATEGORY
        , grp.REVENUE_CATEGORY
        , grp.NON_LABOR_RESOURCE
        , grp.BOM_LABOR_RESOURCE_ID
        , grp.BOM_EQUIPMENT_RESOURCE_ID
        , grp.INVENTORY_ITEM_ID
        , grp.PO_LINE_ID
        , grp.ASSIGNMENT_ID
        , grp.SYSTEM_LINKAGE_FUNCTION
        , grp.PJI_PROJECT_RECORD_FLAG
        , grp.PJI_RESOURCE_RECORD_FLAG
        , grp.CODE_COMBINATION_ID
        , grp.PRVDR_GL_DATE
        , grp.RECVR_GL_DATE
        , grp.GL_PERIOD_NAME
        , grp.PRVDR_PA_DATE
        , grp.RECVR_PA_DATE
        , grp.PA_PERIOD_NAME
        , grp.EXPENDITURE_ITEM_DATE
        , grp.TXN_CURRENCY_CODE
        , sum(grp.TXN_REVENUE)
        , sum(grp.TXN_RAW_COST)
        , sum(grp.TXN_BILL_RAW_COST)
        , sum(grp.TXN_BURDENED_COST)
        , sum(grp.TXN_BILL_BURDENED_COST)
        , sum(grp.TXN_UBR)
        , sum(grp.TXN_UER)
        , sum(grp.PRJ_REVENUE)
        , sum(grp.PRJ_RAW_COST)
        , sum(grp.PRJ_BILL_RAW_COST)
        , sum(grp.PRJ_BURDENED_COST)
        , sum(grp.PRJ_BILL_BURDENED_COST)
        , sum(grp.PRJ_UBR)
        , sum(grp.PRJ_UER)
        , sum(grp.POU_REVENUE)
        , sum(grp.POU_RAW_COST)
        , sum(grp.POU_BILL_RAW_COST)
        , sum(grp.POU_BURDENED_COST)
        , sum(grp.POU_BILL_BURDENED_COST)
        , sum(grp.POU_UBR)
        , sum(grp.POU_UER)
        , sum(grp.EOU_RAW_COST)
        , sum(grp.EOU_BILL_RAW_COST)
        , sum(grp.EOU_BURDENED_COST)
        , sum(grp.EOU_BILL_BURDENED_COST)
        , sum(grp.EOU_UBR)
        , sum(grp.EOU_UER)
        , sum(grp.QUANTITY)
        , sum(grp.BILL_QUANTITY)
		, grp.CBS_ELEMENT_ID                       /* Added for CBS Changes */
       FROM (
       SELECT /*+ ORDERED
                  use_hash(CnR,et,exp,ei)
                  swap_join_inputs(exp)
                  swap_join_inputs(ei)
                  swap_join_inputs(et)
                  PARALLEL(exp) PARALLEL(ei) PARALLEL(et) */
          p_worker_id                           AS WORKER_ID
          , 1                                   AS SLICE_ID
          , CnR.Project_ID                      AS PROJECT_ID
          , ei.Task_ID                          AS TASK_ID
          , decode(exp.Incurred_BY_Person_ID,
                   null, -1, 0, -1,
                   exp.Incurred_BY_Person_ID)   AS PERSON_ID
          , map.Project_Org_ID                  AS PROJECT_ORG_ID
          , map.Project_Organization_ID         AS PROJECT_ORGANIZATION_ID
          , map.Project_Type_Class              AS PROJECT_TYPE_CLASS
          , CnR.Customer_ID                     AS CUSTOMER_ID
          , decode(CnR.C_or_R
                   , 'COST', CnR.Expenditure_Org_ID
                   , ei.org_id)                 AS EXPENDITURE_ORG_ID
          , nvl(ei.Override_TO_Organization_ID,
               exp.Incurred_BY_Organization_ID) AS EXPENDITURE_ORGANIZATION_ID
      --    , CnR.Expenditure_Item_ID             AS EXPENDITURE_ITEM_ID
          , nvl(ei.Job_ID, -1)                  AS JOB_ID
          , nvl(exp.Vendor_ID,-1)               AS VENDOR_ID
          , decode(CnR.C_or_R,
                   'COST', nvl(CnR.Work_Type_Id,-1),
                   nvl(ei.Work_Type_Id, -1))    AS WORK_TYPE_ID
          , et.Expenditure_Type_ID              AS EXP_EVT_TYPE_ID
          , et.Expenditure_Type                 AS EXPENDITURE_TYPE
          , PJI_FM_SUM_MAIN.g_null              AS EVENT_TYPE
          , PJI_FM_SUM_MAIN.g_null              AS EVENT_TYPE_CLASSIFICATION
          , et.Expenditure_Category             AS EXPENDITURE_CATEGORY
          , et.Revenue_Category_Code            AS REVENUE_CATEGORY
          , ei.Non_Labor_Resource               AS NON_LABOR_RESOURCE
          , ei.Wip_Resource_ID                  AS BOM_LABOR_RESOURCE_ID
          , ei.Wip_Resource_ID                  AS BOM_EQUIPMENT_RESOURCE_ID
          , ei.Inventory_Item_ID                AS INVENTORY_ITEM_ID
          , ei.PO_Line_ID                       AS PO_LINE_ID
          , decode(ei.Assignment_ID,
                   null, -1, 0, -1,
                   ei.Assignment_ID)            AS ASSIGNMENT_ID
          , NVL(ei.src_system_linkage_function,
                ei.system_linkage_function)     AS SYSTEM_LINKAGE_FUNCTION
          , decode(CnR.C_or_R,
                   'COST', 'Y',
                   'REVENUE', 'Y', 'N')         AS PJI_PROJECT_RECORD_FLAG
          , decode(exp.Incurred_BY_Person_ID,
                   null, 'N',
                   0, 'N',
                   decode(CnR.C_or_R,
                          'COST', 'Y',
                          'REVENUE', 'Y',
                          'N'))                 AS PJI_RESOURCE_RECORD_FLAG
          , -1                                  AS CODE_COMBINATION_ID
          , greatest(CnR.Prvdr_GL_Date,l_min_date) AS PRVDR_GL_DATE
          , greatest(CnR.Recvr_GL_Date,l_min_date) AS RECVR_GL_DATE
          , CnR.GL_Period_Name                     AS GL_PERIOD_NAME
          , greatest(CnR.Prvdr_PA_Date,l_min_date) AS PRVDR_PA_DATE
          , greatest(CnR.Recvr_PA_Date,l_min_date) AS RECVR_PA_DATE
          , CnR.PA_Period_Name                     AS PA_PERIOD_NAME
          , greatest(ei.Expenditure_Item_Date,
                     l_min_date)                AS EXPENDITURE_ITEM_DATE
          , CnR.Txn_Currency_Code               AS TXN_CURRENCY_CODE
          , CnR.Txn_Revenue                     AS TXN_REVENUE
          , CnR.Txn_Raw_Cost                    AS TXN_RAW_COST
          , CnR.Txn_Bill_Raw_Cost               AS TXN_BILL_RAW_COST
          , CnR.Txn_Burdened_Cost               AS TXN_BURDENED_COST
          , CnR.Txn_Bill_Burdened_Cost          AS TXN_BILL_BURDENED_COST
          , CnR.Txn_Ubr                         AS TXN_UBR
          , CnR.Txn_Uer                         AS TXN_UER
          , CnR.Prj_Revenue                     AS PRJ_REVENUE
          , CnR.Prj_Raw_Cost                    AS PRJ_RAW_COST
          , CnR.Prj_Bill_Raw_Cost               AS PRJ_BILL_RAW_COST
          , CnR.Prj_Burdened_Cost               AS PRJ_BURDENED_COST
          , CnR.Prj_Bill_Burdened_Cost          AS PRJ_BILL_BURDENED_COST
          , CnR.Prj_Ubr                         AS PRJ_UBR
          , CnR.Prj_Uer                         AS PRJ_UER
          , CnR.Pou_Revenue                     AS POU_REVENUE
          , CnR.Pou_Raw_Cost                    AS POU_RAW_COST
          , CnR.Pou_Bill_Raw_Cost               AS POU_BILL_RAW_COST
          , CnR.Pou_Burdened_Cost               AS POU_BURDENED_COST
          , CnR.Pou_Bill_Burdened_Cost          AS POU_BILL_BURDENED_COST
          , CnR.Pou_Ubr                         AS POU_UBR
          , CnR.Pou_Uer                         AS POU_UER
          , CnR.Eou_Raw_Cost                    AS EOU_RAW_COST
          , CnR.Eou_Bill_Raw_Cost               AS EOU_BILL_RAW_COST
          , CnR.Eou_Burdened_Cost               AS EOU_BURDENED_COST
          , CnR.Eou_Bill_Burdened_Cost          AS EOU_BILL_BURDENED_COST
          , CnR.Eou_Ubr                         AS EOU_UBR
          , CnR.Eou_Uer                         AS EOU_UER
          , CnR.Quantity                        AS QUANTITY
          , CnR.Bill_Quantity                   AS BILL_QUANTITY
		  , CnR.CBS_ELEMENT_ID                    AS CBS_ELEMENT_ID             /* Added for CBS Changes */
       FROM
         pji_fm_proj_batch_map map,
        (
        Select /*+ FULL(cdl) PARALLEL(cdl) */
          'COST'                                AS C_or_R
          , cdl.Project_ID                      AS PROJECT_ID
          , cdl.Task_ID                         AS TASK_ID
          , -1                                  AS CUSTOMER_ID
          , cdl.Org_ID                          AS EXPENDITURE_ORG_ID
          , cdl.Expenditure_Item_ID             AS EXPENDITURE_ITEM_ID
  ---     , nvl(to_number(cdl.System_Reference1),-1) AS VENDOR_ID
          , cdl.work_type_id                    AS WORK_TYPE_ID
          , cdl.GL_Date                         AS PRVDR_GL_DATE
          , nvl(cdl.Recvr_GL_Date,cdl.GL_Date)  AS RECVR_GL_DATE
          , cdl.Recvr_GL_Period_Name            AS GL_PERIOD_NAME
          , cdl.PA_DATE                         AS PRVDR_PA_DATE
          , nvl(cdl.Recvr_PA_Date,cdl.PA_Date)  AS RECVR_PA_DATE
          , cdl.Recvr_PA_Period_Name            AS PA_PERIOD_NAME
          , cdl.Denom_Currency_Code             AS TXN_CURRENCY_CODE
          , to_number(null)                     AS TXN_REVENUE
          , nvl(cdl.Denom_Raw_Cost, 0)          AS TXN_RAW_COST
          , decode(cdl.billable_flag
                   , 'Y', nvl(cdl.Denom_Raw_Cost, 0)
                   , 0)                         AS TXN_BILL_RAW_COST
          , nvl(cdl.Denom_Burdened_Cost, 0)     AS TXN_BURDENED_COST
          , decode(cdl.Billable_Flag
                   , 'Y', nvl(cdl.Denom_Burdened_Cost, 0)
                   , 0)                         AS TXN_BILL_BURDENED_COST
          , to_number(null)                     AS TXN_UBR
          , to_number(null)                     AS TXN_UER
          , to_number(null)                     AS PRJ_REVENUE
          , nvl(cdl.Project_Raw_Cost, 0)        AS PRJ_RAW_COST
          , decode(cdl.billable_flag
                   , 'Y', nvl(cdl.Project_Raw_Cost, 0)
                   , 0)                         AS PRJ_BILL_RAW_COST
          , nvl(cdl.Project_Burdened_Cost, 0)   AS PRJ_BURDENED_COST
          , decode(cdl.Billable_Flag
                   , 'Y', nvl(cdl.Project_Burdened_Cost, 0)
                   , 0)                         AS PRJ_BILL_BURDENED_COST
          , to_number(null)                     AS PRJ_UBR
          , to_number(null)                     AS PRJ_UER
          , to_number(null)                     AS POU_REVENUE
          , cdl.AMOUNT                          AS POU_RAW_COST
          , decode(cdl.bILLABLE_fLAG
                   , 'Y', nvl(cdl.Amount, 0)
                   , 0)                         AS POU_BILL_RAW_COST
          , nvl(cdl.Burdened_Cost, 0)           AS POU_BURDENED_COST
          , decode(cdl.Billable_Flag
                   , 'Y', nvl(cdl.Burdened_Cost, 0)
                   , 0)                         AS POU_BILL_BURDENED_COST
          , to_number(null)                     AS POU_UBR
          , to_number(null)                     AS POU_UER
          , nvl(cdl.Acct_Raw_Cost, 0)           AS EOU_RAW_COST
          , decode(cdl.Billable_Flag
                   , 'Y', nvl(cdl.Acct_Raw_Cost,0)
                   , 0)                         AS EOU_BILL_RAW_COST
          , nvl(cdl.Acct_Burdened_Cost, 0)      AS EOU_BURDENED_COST
          , decode(cdl.Billable_Flag
                   , 'Y', nvl(cdl.Acct_Burdened_Cost, 0)
                   , 0)                         AS EOU_BILL_BURDENED_COST
          , to_number(null)                     AS EOU_UBR
          , to_number(null)                     AS EOU_UER
          , decode(cdl.line_type,'R',cdl.Quantity,0)
                                                AS QUANTITY   /* Modified for bug 9777532 */
          , decode(cdl.Billable_Flag
                   , 'Y', decode(cdl.line_type,'R',cdl.Quantity,0)
                   , 0)                         AS BILL_QUANTITY   /* Modified for bug 9777532 */
				   , cdl.CBS_ELEMENT_ID           AS CBS_ELEMENT_ID      /* Added for CBS Changes */
        From  pa_cost_distribution_lines_all   cdl
        Where 1 = 1
        And   cdl.line_type in ('R','I')
        And   nvl(cdl.pji_summarized_flag,'Y') <> 'N'
        And   cdl.gl_date is not null
        And   cdl.pa_date is not null
        UNION ALL
        Select /*+ ORDERED
                   FULL(ag)   PARALLEL(ag)   use_hash(ag)
                   FULL(cust) PARALLEL(cust) use_hash(cust)
                   FULL(drev) PARALLEL(drev) use_hash(drev)
                   FULL(crdl) PARALLEL(crdl) use_hash(crdl) */
          'REVENUE'                             AS C_or_R
          , crdl.Project_ID                     AS PROJECT_ID
          , -1                                  AS TASK_ID
          , cust.Customer_ID                    AS CUSTOMER_ID
          , -1                                  AS EXPENDITURE_ORG_ID
          , crdl.Expenditure_Item_ID            AS EXPENDITURE_ITEM_ID
    ---   , -1                                  AS VENDOR_ID
          , -1                                  AS WORK_TYPE_ID
          , drev.GL_Date                        AS PRVDR_GL_DATE
          , drev.GL_Date                        AS RECVR_GL_DATE
          , drev.GL_Period_Name                 AS GL_PERIOD_NAME
          , drev.PA_Date                        AS PRVDR_PA_DATE
          , drev.PA_Date                        AS RECVR_PA_DATE
          , drev.PA_Period_Name                 AS PA_PERIOD_NAME
          , crdl.Funding_Currency_Code          AS TXN_CURRENCY_CODE
          , crdl.Funding_Revenue_Amount         AS TXN_REVENUE
          , to_number(null)                     AS TXN_RAW_COST
          , to_number(null)                     AS TXN_BILL_RAW_COST
          , to_number(null)                     AS TXN_BURDENED_COST
          , to_number(null)                     AS TXN_BILL_BURDENED_COST
          , to_number(null)                     AS TXN_UBR
          , to_number(null)                     AS TXN_UER
          , crdl.Project_Revenue_Amount         AS PRJ_REVENUE
          , to_number(null)                     AS PRJ_RAW_COST
          , to_number(null)                     AS PRJ_BILL_RAW_COST
          , to_number(null)                     AS PRJ_BURDENED_COST
          , to_number(null)                     AS PRJ_BILL_BURDENED_COST
          , to_number(null)                     AS PRJ_UBR
          , to_number(null)                     AS PRJ_UER
          , crdl.Projfunc_Revenue_Amount        AS POU_REVENUE
          , to_number(null)                     AS POU_RAW_COST
          , to_number(null)                     AS POU_BILL_RAW_COST
          , to_number(null)                     AS POU_BURDENED_COST
          , to_number(null)                     AS POU_BILL_BURDENED_COST
          , to_number(null)                     AS POU_UBR
          , to_number(null)                     AS POU_UER
          , to_number(null)                     AS EOU_RAW_COST
          , to_number(null)                     AS EOU_BILL_RAW_COST
          , to_number(null)                     AS EOU_BURDENED_COST
          , to_number(null)                     AS EOU_BILL_BURDENED_COST
          , to_number(null)                     AS EOU_UBR
          , to_number(null)                     AS EOU_UER
          , to_number(null)                     AS QUANTITY
          , to_number(null)                     AS BILL_QUANTITY
		  , -1                                  AS CBS_ELEMENT_ID   /* Added for CBS Changes */
        From  PJI_FM_EXTR_DREVN            drev
              , pa_agreements_all          ag
              , pa_project_customers       cust
              , pa_cust_rev_dist_lines_all crdl
        Where 1 = 1
        And   drev.worker_id = p_worker_id
        And   drev.project_id = crdl.project_id
        And   drev.draft_revenue_num = crdl.draft_revenue_num
        And   drev.agreement_id = ag.agreement_id
        And   drev.project_id = cust.project_id
        And   ag.customer_id = cust.customer_id
--        And   NVL(cust.bill_another_project_flag,'N') <> 'Y' -- ER 6519955
        And   crdl.function_code NOT IN ('LRL','LRB','URL','URB')
        And   drev.gl_date is not null
        And   drev.pa_date is not null
      )                                       CnR
            , pa_expenditure_items_all        ei
            , pa_expenditures_all             exp
            , pa_expenditure_types            et
       WHERE  1 = 1
       And    CnR.expenditure_item_id = ei.expenditure_item_id
       And    exp.expenditure_id = ei.expenditure_id
       And    ei.expenditure_type = et.expenditure_type
       And    CnR.project_id = map.project_id
--       And    (NVL(ei.transaction_source,'dummy') <> 'INTERPROJECT_AP_INVOICES'  -- ER 6519955
--               OR CnR.C_or_R = 'REVENUE')
       )  grp
       GROUP BY
          grp.WORKER_ID
        , grp.SLICE_ID
        , grp.PROJECT_ID
        , grp.TASK_ID
        , grp.PERSON_ID
        , grp.PROJECT_ORG_ID
        , grp.PROJECT_ORGANIZATION_ID
        , grp.PROJECT_TYPE_CLASS
        , grp.CUSTOMER_ID
        , grp.EXPENDITURE_ORG_ID
        , grp.EXPENDITURE_ORGANIZATION_ID
        , grp.JOB_ID
        , grp.VENDOR_ID
        , grp.WORK_TYPE_ID
        , grp.EXP_EVT_TYPE_ID
        , grp.EXPENDITURE_TYPE
        , grp.EVENT_TYPE
        , grp.EVENT_TYPE_CLASSIFICATION
        , grp.EXPENDITURE_CATEGORY
        , grp.REVENUE_CATEGORY
        , grp.NON_LABOR_RESOURCE
        , grp.BOM_LABOR_RESOURCE_ID
        , grp.BOM_EQUIPMENT_RESOURCE_ID
        , grp.INVENTORY_ITEM_ID
        , grp.PO_LINE_ID
        , grp.ASSIGNMENT_ID
        , grp.SYSTEM_LINKAGE_FUNCTION
        , grp.PJI_PROJECT_RECORD_FLAG
        , grp.PJI_RESOURCE_RECORD_FLAG
        , grp.CODE_COMBINATION_ID
        , grp.PRVDR_GL_DATE
        , grp.RECVR_GL_DATE
        , grp.GL_PERIOD_NAME
        , grp.PRVDR_PA_DATE
        , grp.RECVR_PA_DATE
        , grp.PA_PERIOD_NAME
        , grp.EXPENDITURE_ITEM_DATE
        , grp.TXN_CURRENCY_CODE
		, grp.CBS_ELEMENT_ID      /* Added for CBS Changes */
      ;
Line: 1372

      INSERT /*+ APPEND */ INTO PJI_FM_AGGR_FIN1
       ( WORKER_ID
       , SLICE_ID
       , PROJECT_ID
       , TASK_ID
       , PERSON_ID
       , PROJECT_ORG_ID
       , PROJECT_ORGANIZATION_ID
       , PROJECT_TYPE_CLASS
       , CUSTOMER_ID
       , EXPENDITURE_ORG_ID
       , EXPENDITURE_ORGANIZATION_ID
       , JOB_ID
       , VENDOR_ID
       , WORK_TYPE_ID
       , EXP_EVT_TYPE_ID
       , EXPENDITURE_TYPE
       , EVENT_TYPE
       , EVENT_TYPE_CLASSIFICATION
       , EXPENDITURE_CATEGORY
       , REVENUE_CATEGORY
       , NON_LABOR_RESOURCE
       , BOM_LABOR_RESOURCE_ID
       , BOM_EQUIPMENT_RESOURCE_ID
       , INVENTORY_ITEM_ID
       , SYSTEM_LINKAGE_FUNCTION
       , PJI_PROJECT_RECORD_FLAG
       , PJI_RESOURCE_RECORD_FLAG
       , CODE_COMBINATION_ID
       , PRVDR_GL_DATE
       , RECVR_GL_DATE
       , GL_PERIOD_NAME
       , PRVDR_PA_DATE
       , RECVR_PA_DATE
       , PA_PERIOD_NAME
       , TXN_CURRENCY_CODE
       , TXN_REVENUE
       , TXN_RAW_COST
       , TXN_BILL_RAW_COST
       , TXN_BURDENED_COST
       , TXN_BILL_BURDENED_COST
       , TXN_UBR
       , TXN_UER
       , PRJ_REVENUE
       , PRJ_RAW_COST
       , PRJ_BILL_RAW_COST
       , PRJ_BURDENED_COST
       , PRJ_BILL_BURDENED_COST
       , PRJ_UBR
       , PRJ_UER
       , POU_REVENUE
       , POU_RAW_COST
       , POU_BILL_RAW_COST
       , POU_BURDENED_COST
       , POU_BILL_BURDENED_COST
       , POU_UBR
       , POU_UER
       , EOU_RAW_COST
       , EOU_BILL_RAW_COST
       , EOU_BURDENED_COST
       , EOU_BILL_BURDENED_COST
       , EOU_UBR
       , EOU_UER
       , QUANTITY
       , BILL_QUANTITY
       )
        Select /*+ PARALLEL(drev) FULL(drev)
                   PARALLEL(erdl) FULL(erdl) */
          p_worker_id                           AS WORKER_ID
          , 1                                   AS SLICE_ID
          , erdl.Project_ID                     AS PROJECT_ID
          , nvl(ev.task_id, -1)                 AS TASK_ID                  -- Bug 6065483
          , -1                                  AS PERSON_ID
          , drev.Project_Org_ID                 AS PROJECT_ORG_ID
          , drev.Project_Organization_ID        AS PROJECT_ORGANIZATION_ID
          , drev.Project_Type_Class             AS PROJECT_TYPE_CLASS
          , cust.Customer_ID                    AS CUSTOMER_ID
          , -1                                  AS EXPENDITURE_ORG_ID
          , ev.Organization_ID                  AS EXPENDITURE_ORGANIZATION_ID
          , -1                                  AS JOB_ID
          , -1                                  AS VENDOR_ID
          , -1                                  AS WORK_TYPE_ID
          , evt.event_type_id                   AS EXP_EVT_TYPE_ID
          , PJI_FM_SUM_MAIN.g_null              AS EXPENDITURE_TYPE
          , evt.event_type                      AS EVENT_TYPE
          , evt.event_type_classification       AS EVENT_TYPE_CLASSIFICATION
          , PJI_FM_SUM_MAIN.g_null              AS EXPENDITURE_CATEGORY
          , evt.revenue_category_code           AS REVENUE_CATEGORY
          , 'PJI$NULL'                          AS NON_LABOR_RESOURCE
          , -1                                  AS BOM_LABOR_RESOURCE_ID
          , -1                                  AS BOM_EQUIPMENT_RESOURCE_ID
          , -1                                  AS INVENTORY_ITEM_ID
          , PJI_FM_SUM_MAIN.g_null              AS SYSTEM_LINKAGE_FUNCTION
          , 'Y'                                 AS PJI_PROJECT_RECORD_FLAG
          , 'N'                                 AS PJI_RESOURCE_RECORD_FLAG
          , -1                                  AS CODE_COMBINATION_ID
          , Greatest(drev.GL_Date,l_min_date)   AS PRVDR_GL_DATE
          , Greatest(drev.GL_Date,l_min_date)   AS RECVR_GL_DATE
          , drev.GL_Period_Name                 AS GL_PERIOD_NAME
          , Greatest(drev.PA_Date,l_min_date)   AS PRVDR_PA_DATE
          , Greatest(drev.PA_Date,l_min_date)   AS RECVR_PA_DATE
          , drev.PA_Period_Name                 AS PA_PERIOD_NAME
          , erdl.Funding_Currency_Code          AS TXN_CURRENCY_CODE
          , sum(erdl.Funding_Revenue_Amount)    AS TXN_REVENUE
          , to_number(null)                     AS TXN_RAW_COST
          , to_number(null)                     AS TXN_BILL_RAW_COST
          , to_number(null)                     AS TXN_BURDENED_COST
          , to_number(null)                     AS TXN_BILL_BURDENED_COST
          , to_number(null)                     AS TXN_UBR
          , to_number(null)                     AS TXN_UER
          , sum(erdl.Project_Revenue_Amount)    AS PRJ_REVENUE
          , to_number(null)                     AS PRJ_RAW_COST
          , to_number(null)                     AS PRJ_BILL_RAW_COST
          , to_number(null)                     AS PRJ_BURDENED_COST
          , to_number(null)                     AS PRJ_BILL_BURDENED_COST
          , to_number(null)                     AS PRJ_UBR
          , to_number(null)                     AS PRJ_UER
          , sum(erdl.Projfunc_Revenue_Amount)   AS POU_REVENUE
          , to_number(null)                     AS POU_RAW_COST
          , to_number(null)                     AS POU_BILL_RAW_COST
          , to_number(null)                     AS POU_BURDENED_COST
          , to_number(null)                     AS POU_BILL_BURDENED_COST
          , to_number(null)                     AS POU_UBR
          , to_number(null)                     AS POU_UER
          , to_number(null)                     AS EOU_RAW_COST
          , to_number(null)                     AS EOU_BILL_RAW_COST
          , to_number(null)                     AS EOU_BURDENED_COST
          , to_number(null)                     AS EOU_BILL_BURDENED_COST
          , to_number(null)                     AS EOU_UBR
          , to_number(null)                     AS EOU_UER
          , to_number(null)                     AS QUANTITY
          , to_number(null)                     AS BILL_QUANTITY
        From    pa_agreements_all               ag
              , pa_project_customers            cust
              , pa_events                       ev
              , pa_event_types                  evt
              , PJI_FM_EXTR_DREVN               drev
              , pa_cust_event_rdl_all           erdl
        Where 1 = 1
        And   drev.worker_id = p_worker_id
        And   drev.project_id = erdl.project_id
        And   ev.project_id = erdl.project_id
        And   drev.draft_revenue_num = erdl.draft_revenue_num
        And   NVL(erdl.task_id,-1) = NVL(ev.task_id,-1)
        And   ev.event_num = erdl.event_num
        And   ev.event_type = evt.event_type
        And   drev.agreement_id = ag.agreement_id
        And   drev.project_id = cust.project_id
        And   ag.customer_id = cust.customer_id
--        And   NVL(cust.bill_another_project_flag,'N') <> 'Y' ---- ER 6519955
        And   drev.gl_date is not null
        And   drev.pa_date is not null
        Group By
              erdl.Project_ID
			, nvl(ev.task_id, -1)           -- Bug 6065483
            , drev.Project_Org_ID
            , drev.Project_Organization_ID
            , drev.Project_Type_Class
            , cust.Customer_ID
            , ev.Organization_ID
            , evt.event_type_id
            , evt.event_type
            , evt.event_type_classification
            , evt.revenue_category_code
            , drev.GL_Date
            , drev.PA_Date
            , drev.GL_Period_Name
            , drev.PA_Period_Name
            , erdl.Funding_Currency_Code
      ;
Line: 1572

      insert /*+ append */ into PJI_FM_REXT_CDL
      (
        WORKER_ID
      , CDL_ROWID
      , START_DATE
      , END_DATE
      , PROJECT_ORG_ID
      , PROJECT_ORGANIZATION_ID
      , PROJECT_TYPE_CLASS
      , PJI_SUMMARIZED_FLAG
      , BATCH_ID
      )
      SELECT /*+ index_ffs(cdl, PA_COST_DISTRIBUTION_LINES_N15)
                 parallel_index(cdl, PA_COST_DISTRIBUTION_LINES_N15) */
        p_worker_id
      , cdl.ROWID
      , null
      , null
      , null
      , null
      , null
      , cdl.PJI_SUMMARIZED_FLAG
      , ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold)
      FROM
        PA_COST_DISTRIBUTION_LINES_ALL cdl
      WHERE
        cdl.LINE_TYPE in ('R', 'I') and
        cdl.PJI_SUMMARIZED_FLAG = 'N';
Line: 1603

    INSERT /*+ APPEND */ INTO PJI_FM_REXT_CDL
    (
      WORKER_ID
    , CDL_ROWID
    , START_DATE
    , END_DATE
    , PROJECT_ORG_ID
    , PROJECT_ORGANIZATION_ID
    , PROJECT_TYPE_CLASS
    , PJI_SUMMARIZED_FLAG
    , BATCH_ID
    )
    SELECT
      p_worker_id
    , row_id
    , start_date
    , end_date
    , project_org_id
    , project_organization_id
    , project_type_class
    , pji_summarized_flag
    , ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold)
    FROM
      (
      SELECT /*+ ORDERED
                 USE_NL(cdl)
                 INDEX(cdl, PA_COST_DISTRIBUTION_LINES_N15)
              */
        cdl.rowid row_id
      , bat.start_date
      , bat.end_date
      , bat.project_org_id
      , bat.project_organization_id
      , bat.project_type_class
      , cdl.pji_summarized_flag
      FROM
        pji_fm_proj_batch_map            bat
      , pa_cost_distribution_lines_all   cdl
      WHERE
            bat.worker_id = p_worker_id
        and cdl.project_id = bat.project_id
        and cdl.line_type in ('R','I')
        and bat.extraction_type = 'I'
        and cdl.pji_summarized_flag = 'N'
      union all
      SELECT /*+ ORDERED
                 USE_NL(cdl)
                 INDEX(cdl, PA_COST_DISTRIBUTION_LINES_N15)
              */
        cdl.rowid row_id
      , bat.start_date
      , bat.end_date
      , bat.project_org_id
      , bat.project_organization_id
      , bat.project_type_class
      , cdl.pji_summarized_flag
      FROM
        pji_fm_proj_batch_map            bat
      , pa_cost_distribution_lines_all   cdl
      WHERE
            bat.worker_id = p_worker_id
        and cdl.project_id = bat.project_id
        and cdl.line_type in ('R','I')
        and bat.extraction_type <> 'I'
      );
Line: 1706

    INSERT /*+ APPEND */ INTO PJI_FM_REXT_CRDL
    (
      WORKER_ID
    , CRDL_ROWID
    , PA_DATE
    , PA_PERIOD_NAME
    , GL_DATE
    , GL_PERIOD_NAME
    , PROJECT_ORG_ID
    , PROJECT_ORGANIZATION_ID
    , PROJECT_TYPE_CLASS
    , LINE_SOURCE_TYPE
    , BILL_ANOTHER_PROJECT_FLAG
    , CUSTOMER_ID
    )
    SELECT /*+ ORDERED
               USE_NL(ag)
               USE_NL(cust)
               USE_NL(crdl)
               INDEX(crdl, PA_CUST_REV_DIST_LINES_N1)
             */
      p_worker_id
    , crdl.rowid
    , drev.pa_date
    , drev.pa_period_name
    , drev.gl_date
    , drev.gl_period_name
    , drev.project_org_id
    , drev.project_organization_id
    , drev.project_type_class
    , drev.line_source_type
    , cust.bill_another_project_flag
    , cust.customer_id
    FROM
      PJI_FM_EXTR_DREVN                 drev
    , pa_agreements_all                ag
    , pa_project_customers             cust
    , pa_cust_rev_dist_lines_all       crdl
    WHERE
          drev.worker_id = p_worker_id
      and drev.project_id = crdl.project_id
      and drev.draft_revenue_num = crdl.draft_revenue_num
      and drev.gl_date is not null
      and drev.pa_date is not null
      and drev.agreement_id = ag.agreement_id
      and drev.project_id = cust.project_id
      and ag.customer_id = cust.customer_id;
Line: 1782

    INSERT /*+ APPEND */ INTO PJI_FM_REXT_ERDL
    (
      WORKER_ID
    , ERDL_ROWID
    , PROJECT_ORG_ID
    , PROJECT_ORGANIZATION_ID
    , PROJECT_ID
    , PROJECT_TYPE_CLASS
    , EXPENDITURE_ORGANIZATION_ID
    , TASK_ID
    , EXP_EVT_TYPE_ID
    , EVENT_TYPE
    , EVENT_NUM
    , REVENUE_CATEGORY
    , EVENT_TYPE_CLASSIFICATION
    , LINE_SOURCE_TYPE
    , BILL_ANOTHER_PROJECT_FLAG
    , CUSTOMER_ID
    , TXN_DATE
    , PA_DATE
    , PA_PERIOD_NAME
    , GL_DATE
    , GL_PERIOD_NAME
    )
    SELECT /*+ ORDERED
               USE_NL(ag)
               USE_NL(cust)
               USE_NL(erdl)
               INDEX(erdl, PA_CUST_EVENT_REV_DIST_LINE_N1)
             */
      p_worker_id                     worker_id
    , erdl.rowid                      row_id
    , nvl(drev.project_org_id, -1)    project_org_id
    , drev.project_organization_id    project_organization_id
    , drev.project_id                 project_id
    , drev.project_type_class         project_type_class
    , ev.organization_id              expenditure_organization_id
    , NVL(ev.task_id,-1)              task_id
    , evt.event_type_id               exp_evt_type_id
    , evt.event_type                  event_type
    , ev.event_num                    event_num
    , evt.revenue_category_code       revenue_category
    , evt.event_type_classification   event_type_classification
    , drev.line_source_type           line_source_type
    , cust.bill_another_project_flag  bill_another_project_flag
    , ag.customer_id                  customer_id
    , ev.completion_date              txn_date
    , drev.pa_date                    pa_date
    , drev.pa_period_name             pa_period_name
    , drev.gl_date                    gl_date
    , drev.gl_period_name             gl_period_name
    FROM
            PJI_FM_EXTR_DREVN               drev
          , pa_agreements_all              ag
          , pa_project_customers           cust
          , pa_cust_event_rdl_all          erdl  /* Changed the order for bug 8668173 */
          , pa_events                      ev
          , pa_event_types                 evt
    WHERE
          drev.worker_id = p_worker_id
  /*  and drev.project_id = ev.project_id  Commented for bug 8668173 */
      and ev.project_id = erdl.project_id
      and drev.project_id = erdl.project_id
      and drev.draft_revenue_num = erdl.draft_revenue_num
      and NVL(erdl.task_id,-1) = NVL(ev.task_id,-1) -- uncommented for bug 7354140
      and ev.event_num = erdl.event_num -- uncommented for bug 7354140
      and ev.event_type = evt.event_type
      and drev.agreement_id = ag.agreement_id
      and drev.project_id = cust.project_id
      and ag.customer_id = cust.customer_id
--      and NVL(cust.bill_another_project_flag,'N') <> 'Y' -- ER 6519955
      and drev.gl_date is not null
      and drev.pa_date is not null
      ;
Line: 1900

        delete /*+ index (log, PA_PJI_PROJ_EVENTS_LOG_N1) */
        from   PA_PJI_PROJ_EVENTS_LOG log
        where  EVENT_TYPE = 'DRAFT_REVENUES';
Line: 1906

      delete
      from   PJI_FM_REXT_CDL
      where  WORKER_ID = p_worker_id and
             PROJECT_ORG_ID = -1 and
             PROJECT_ORGANIZATION_ID = -1 and
             CDL_ROWID in (select CDL_ROWID
                           from   PJI_FM_REXT_CDL
                           where  WORKER_ID = p_worker_id and
                                  PROJECT_ORGANIZATION_ID <> -1);
Line: 1932

    INSERT /*+ APPEND PARALLEL(fin1_i) */ INTO PJI_FM_AGGR_FIN1 fin1_i
     ( WORKER_ID
     , SLICE_ID
     , PROJECT_ID
     , TASK_ID
     , PERSON_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_TYPE_CLASS
     , CUSTOMER_ID
     , EXPENDITURE_ORG_ID
     , EXPENDITURE_ORGANIZATION_ID
     , JOB_ID
     , VENDOR_ID
     , WORK_TYPE_ID
     , EXP_EVT_TYPE_ID
     , EXPENDITURE_TYPE
     , EVENT_TYPE
     , EVENT_TYPE_CLASSIFICATION
     , EXPENDITURE_CATEGORY
     , REVENUE_CATEGORY
     , NON_LABOR_RESOURCE
     , BOM_LABOR_RESOURCE_ID
     , BOM_EQUIPMENT_RESOURCE_ID
     , INVENTORY_ITEM_ID
     , PO_LINE_ID
     , ASSIGNMENT_ID
     , SYSTEM_LINKAGE_FUNCTION
     , PJI_PROJECT_RECORD_FLAG
     , PJI_RESOURCE_RECORD_FLAG
     , CODE_COMBINATION_ID
     , PRVDR_GL_DATE
     , RECVR_GL_DATE
     , GL_PERIOD_NAME
     , PRVDR_PA_DATE
     , RECVR_PA_DATE
     , PA_PERIOD_NAME
     , EXPENDITURE_ITEM_DATE
     , TXN_CURRENCY_CODE
     , TXN_REVENUE
     , TXN_RAW_COST
     , TXN_BILL_RAW_COST
     , TXN_BURDENED_COST
     , TXN_BILL_BURDENED_COST
     , TXN_UBR
     , TXN_UER
     , PRJ_REVENUE
     , PRJ_RAW_COST
     , PRJ_BILL_RAW_COST
     , PRJ_BURDENED_COST
     , PRJ_BILL_BURDENED_COST
     , PRJ_UBR
     , PRJ_UER
     , POU_REVENUE
     , POU_RAW_COST
     , POU_BILL_RAW_COST
     , POU_BURDENED_COST
     , POU_BILL_BURDENED_COST
     , POU_UBR
     , POU_UER
     , EOU_RAW_COST
     , EOU_BILL_RAW_COST
     , EOU_BURDENED_COST
     , EOU_BILL_BURDENED_COST
     , EOU_UBR
     , EOU_UER
     , QUANTITY
     , BILL_QUANTITY
	 ,CBS_ELEMENT_ID       /* Added for CBS Changes */
    )
    SELECT
       grp.WORKER_ID
     , grp.SLICE_ID
     , grp.PROJECT_ID
     , grp.TASK_ID
     , grp.PERSON_ID
     , grp.PROJECT_ORG_ID
     , grp.PROJECT_ORGANIZATION_ID
     , grp.PROJECT_TYPE_CLASS
     , grp.CUSTOMER_ID
     , grp.EXPENDITURE_ORG_ID
     , grp.EXPENDITURE_ORGANIZATION_ID
     , grp.JOB_ID
     , grp.VENDOR_ID
     , grp.WORK_TYPE_ID
     , grp.EXP_EVT_TYPE_ID
     , grp.EXPENDITURE_TYPE
     , grp.EVENT_TYPE
     , grp.EVENT_TYPE_CLASSIFICATION
     , grp.EXPENDITURE_CATEGORY
     , grp.REVENUE_CATEGORY
     , grp.NON_LABOR_RESOURCE
     , grp.BOM_LABOR_RESOURCE_ID
     , grp.BOM_EQUIPMENT_RESOURCE_ID
     , grp.INVENTORY_ITEM_ID
     , grp.PO_LINE_ID
     , grp.ASSIGNMENT_ID
     , grp.SYSTEM_LINKAGE_FUNCTION
     , grp.PJI_PROJECT_RECORD_FLAG
     , grp.PJI_RESOURCE_RECORD_FLAG
     , grp.CODE_COMBINATION_ID
     , grp.PRVDR_GL_DATE
     , grp.RECVR_GL_DATE
     , grp.GL_PERIOD_NAME
     , grp.PRVDR_PA_DATE
     , grp.RECVR_PA_DATE
     , grp.PA_PERIOD_NAME
     , grp.EXPENDITURE_ITEM_DATE
     , grp.TXN_CURRENCY_CODE
     , sum(grp.TXN_REVENUE)
     , sum(grp.TXN_RAW_COST)
     , sum(grp.TXN_BILL_RAW_COST)
     , sum(grp.TXN_BURDENED_COST)
     , sum(grp.TXN_BILL_BURDENED_COST)
     , sum(grp.TXN_UBR)
     , sum(grp.TXN_UER)
     , sum(grp.PRJ_REVENUE)
     , sum(grp.PRJ_RAW_COST)
     , sum(grp.PRJ_BILL_RAW_COST)
     , sum(grp.PRJ_BURDENED_COST)
     , sum(grp.PRJ_BILL_BURDENED_COST)
     , sum(grp.PRJ_UBR)
     , sum(grp.PRJ_UER)
     , sum(grp.POU_REVENUE)
     , sum(grp.POU_RAW_COST)
     , sum(grp.POU_BILL_RAW_COST)
     , sum(grp.POU_BURDENED_COST)
     , sum(grp.POU_BILL_BURDENED_COST)
     , sum(grp.POU_UBR)
     , sum(grp.POU_UER)
     , sum(grp.EOU_RAW_COST)
     , sum(grp.EOU_BILL_RAW_COST)
     , sum(grp.EOU_BURDENED_COST)
     , sum(grp.EOU_BILL_BURDENED_COST)
     , sum(grp.EOU_UBR)
     , sum(grp.EOU_UER)
     , sum(grp.QUANTITY)
     , sum(grp.BILL_QUANTITY)
	 , grp.CBS_ELEMENT_ID     /* Added for CBS Changes */
    FROM (
    SELECT /*+ ordered */
      p_worker_id                         AS WORKER_ID
    , decode(scope.PROJECT_ORG_ID, -1,                -- Ensure that JOB_ID
             decode(scope.PROJECT_ORGANIZATION_ID,    -- Util --> Non-Util
                    -1, -1, 1),                       -- reversals do not get
             1)                              SLICE_ID -- into PSI tables.
    , cdl.project_id                      AS PROJECT_ID
    , cdl.task_id                         AS TASK_ID
    , decode(exp.incurred_by_person_id,
             null, -1, 0, -1,
             exp.incurred_by_person_id)   AS PERSON_ID
    , nvl(scope.project_org_id, -1)       AS PROJECT_ORG_ID
    , scope.project_organization_id       AS PROJECT_ORGANIZATION_ID
    , scope.project_type_class            AS PROJECT_TYPE_CLASS
    , -1                                  AS CUSTOMER_ID
    , cdl.org_id                          AS EXPENDITURE_ORG_ID
    , NVL(ei.override_to_organization_id, exp.incurred_by_organization_id)
                                          AS EXPENDITURE_ORGANIZATION_ID
    , nvl(ei.job_id, -1)                  AS JOB_ID
    , nvl(exp.vendor_id, -1)              AS VENDOR_ID
    , nvl(cdl.work_type_id, -1)           AS WORK_TYPE_ID
    , et.expenditure_type_id              AS EXP_EVT_TYPE_ID
    , et.expenditure_type                 AS EXPENDITURE_TYPE
    , PJI_FM_SUM_MAIN.g_null              AS EVENT_TYPE
    , PJI_FM_SUM_MAIN.g_null              AS EVENT_TYPE_CLASSIFICATION
    , et.expenditure_category             AS EXPENDITURE_CATEGORY
    , et.revenue_category_code            AS REVENUE_CATEGORY
    , ei.Non_Labor_Resource               AS NON_LABOR_RESOURCE
    , ei.Wip_Resource_ID                  AS BOM_LABOR_RESOURCE_ID
    , ei.Wip_Resource_ID                  AS BOM_EQUIPMENT_RESOURCE_ID
    , ei.Inventory_Item_ID                AS INVENTORY_ITEM_ID
    , ei.PO_Line_ID                       AS PO_LINE_ID
    , decode(ei.Assignment_ID,
             null, -1, 0, -1,
             ei.Assignment_ID)            AS ASSIGNMENT_ID
    , NVL(ei.src_system_linkage_function,
                ei.system_linkage_function)
                                          AS SYSTEM_LINKAGE_FUNCTION
    , decode(scope.PROJECT_ORG_ID,
             -1, decode(scope.PROJECT_ORGANIZATION_ID,
                        -1, 'N',
                            'Y'),
                 'Y')                     AS PJI_PROJECT_RECORD_FLAG
    , decode(scope.PROJECT_ORG_ID,
             -1, decode(scope.PROJECT_ORGANIZATION_ID,
                        -1, 'Y',
                            decode(exp.Incurred_BY_Person_ID,
                                   null, 'N',
                                   0,    'N',
                                         'Y')),
                 decode(exp.Incurred_BY_Person_ID,
                        null, 'N',
                        0,    'N',
                              'Y'))       AS PJI_RESOURCE_RECORD_FLAG
    , -1                                  AS CODE_COMBINATION_ID
    , Greatest(cdl.gl_date,l_min_date)    AS PRVDR_GL_DATE
    , Greatest(nvl(cdl.recvr_gl_date, cdl.gl_date),l_min_date) AS RECVR_GL_DATE
    , cdl.Recvr_GL_Period_Name            AS GL_PERIOD_NAME
    , Greatest(cdl.pa_date,l_min_date)    AS PRVDR_PA_DATE
    , Greatest(nvl(cdl.recvr_pa_date, cdl.pa_date),l_min_date) AS RECVR_PA_DATE
    , cdl.Recvr_PA_Period_Name            AS PA_PERIOD_NAME
    , Greatest(ei.Expenditure_Item_Date,
               l_min_date)                AS EXPENDITURE_ITEM_DATE
    , cdl.Denom_Currency_Code             AS TXN_CURRENCY_CODE
    , to_number(null)                     AS TXN_REVENUE
    , NVL(cdl.Denom_Raw_Cost,0)           AS TXN_RAW_COST
    , decode(cdl.billable_flag
             , 'Y', nvl(cdl.Denom_Raw_Cost, 0)
             , 0)                         AS TXN_BILL_RAW_COST
    , nvl(cdl.Denom_Burdened_Cost, 0)     AS TXN_BURDENED_COST
    , decode(cdl.Billable_Flag
             , 'Y', nvl(cdl.Denom_Burdened_Cost, 0)
             , 0)                         AS TXN_BILL_BURDENED_COST
    , to_number(null)                     AS TXN_UBR
    , to_number(null)                     AS TXN_UER
    , to_number(null)                     AS PRJ_REVENUE
    , NVL(cdl.project_raw_cost,0)         AS PRJ_RAW_COST
    , decode(cdl.billable_flag
             , 'Y', nvl(cdl.Project_Raw_Cost, 0)
             , 0)                         AS PRJ_BILL_RAW_COST
    , nvl(cdl.Project_Burdened_Cost, 0)   AS PRJ_BURDENED_COST
    , decode(cdl.Billable_Flag
             , 'Y', nvl(cdl.Project_Burdened_Cost, 0)
             , 0)                         AS PRJ_BILL_BURDENED_COST
    , to_number(null)                     AS PRJ_UBR
    , to_number(null)                     AS PRJ_UER
    , to_number(null)                     AS POU_REVENUE
    , cdl.AMOUNT                          AS POU_RAW_COST
    , decode(cdl.bILLABLE_fLAG
             , 'Y', nvl(cdl.Amount, 0)
             , 0)                         AS POU_BILL_RAW_COST
    , nvl(cdl.Burdened_Cost, 0)           AS POU_BURDENED_COST
    , decode(cdl.Billable_Flag
             , 'Y', nvl(cdl.Burdened_Cost, 0)
             , 0)                         AS POU_BILL_BURDENED_COST
    , to_number(null)                     AS POU_UBR
    , to_number(null)                     AS POU_UER
    , nvl(cdl.Acct_Raw_Cost, 0)           AS EOU_RAW_COST
    , decode(cdl.Billable_Flag
             , 'Y', nvl(cdl.Acct_Raw_Cost,0)
             , 0)                         AS EOU_BILL_RAW_COST
    , nvl(cdl.Acct_Burdened_Cost, 0)      AS EOU_BURDENED_COST
    , decode(cdl.Billable_Flag
             , 'Y', nvl(cdl.Acct_Burdened_Cost, 0)
             , 0)                         AS EOU_BILL_BURDENED_COST
    , to_number(null)                     AS EOU_UBR
    , to_number(null)                     AS EOU_UER
    , decode(cdl.line_type,'R',cdl.Quantity,0)
                                          AS QUANTITY   /* Modified for bug 9777532 */
    , decode(cdl.Billable_Flag
             , 'Y', decode(cdl.line_type,'R',cdl.Quantity,0)
             , 0)                         AS BILL_QUANTITY  /* Modified for bug 9777532 */
			 ,cdl.CBS_ELEMENT_ID            AS CBS_ELEMENT_ID     /* Added for CBS Changes */
    FROM
        PJI_FM_REXT_CDL                 scope
      , pa_cost_distribution_lines_all   cdl
      , pa_expenditure_items_all         ei
      , pa_expenditures_all              exp
      , pa_expenditure_types             et
    WHERE
          scope.worker_id = p_worker_id
      and scope.cdl_rowid = cdl.rowid
      and cdl.expenditure_item_id = ei.expenditure_item_id
      and ei.expenditure_type = et.expenditure_type
      and exp.expenditure_id = ei.expenditure_id
      and cdl.gl_date is not null
      and cdl.pa_date is not null
--      and NVL(ei.transaction_source,'dummy') <> 'INTERPROJECT_AP_INVOICES' -- ER 6519955
    UNION ALL
    SELECT /*+ ordered */
      p_worker_id                         AS WORKER_ID
    , 1                                   AS SLICE_ID
    , crdl.Project_ID                     AS PROJECT_ID
    , ei.Task_ID                          AS TASK_ID
    , decode(exp.Incurred_By_Person_ID,
             null, -1, 0, -1,
             exp.Incurred_By_Person_ID)   AS PERSON_ID
    , nvl(scope.Project_Org_ID, -1)       AS PROJECT_ORG_ID
    , scope.Project_Organization_ID       AS PROJECT_ORGANIZATION_ID
    , scope.Project_Type_Class            AS PROJECT_TYPE_CLASS
    , scope.Customer_ID                   AS CUSTOMER_ID
    , ei.Org_ID                           AS EXPENDITURE_ORG_ID
    , nvl(ei.Override_To_Organization_ID, exp.Incurred_By_Organization_ID)
                                          AS EXPENDITURE_ORGANIZATION_ID
    , nvl(ei.Job_ID, -1)                  AS JOB_ID
    , nvl(exp.vendor_id,-1)               AS VENDOR_ID
    , nvl(ei.Work_type_ID, -1)            AS WORK_TYPE_ID
    , et.Expenditure_Type_ID              AS EXP_EVT_TYPE_ID
    , et.Expenditure_Type                 AS EXPENDITURE_TYPE
    , PJI_FM_SUM_MAIN.g_null              AS EVENT_TYPE
    , PJI_FM_SUM_MAIN.g_null              AS EVENT_TYPE_CLASSIFICATION
    , et.Expenditure_Category             AS EXPENDITURE_CATEGORY
    , et.Revenue_Category_Code            AS REVENUE_CATEGORY
    , ei.Non_Labor_Resource               AS NON_LABOR_RESOURCE
    , ei.Wip_Resource_ID                  AS BOM_LABOR_RESOURCE_ID
    , ei.Wip_Resource_ID                  AS BOM_EQUIPMENT_RESOURCE_ID
    , ei.Inventory_Item_ID                AS INVENTORY_ITEM_ID
    , ei.PO_Line_ID                       AS PO_LINE_ID
    , decode(ei.Assignment_ID,
             null, -1, 0, -1,
             ei.Assignment_ID)            AS ASSIGNMENT_ID
    , NVL(ei.src_system_linkage_function,
                ei.system_linkage_function)
                                          AS SYSTEM_LINKAGE_FUNCTION
    , 'Y'                                 AS PJI_PROJECT_RECORD_FLAG
    , decode(exp.Incurred_By_Person_ID, null, 'N', 0, 'N', 'Y')
                                          AS PJI_RESOURCE_RECORD_FLAG
    , -1                                  AS CODE_COMBINATION_ID
    , Greatest(scope.GL_Date,l_min_date)  AS PRVDR_GL_DATE
    , Greatest(scope.GL_Date,l_min_date)  AS RECVR_GL_DATE
    , scope.GL_Period_Name                AS GL_PERIOD_NAME
    , Greatest(scope.PA_Date,l_min_date)  AS PRVDR_PA_DATE
    , Greatest(scope.PA_Date,l_min_date)  AS RECVR_PA_DATE
    , scope.PA_Period_Name                AS PA_PERIOD_NAME
    , Greatest(ei.Expenditure_Item_Date,
               l_min_date)                AS EXPENDITURE_ITEM_DATE
    , crdl.Funding_Currency_Code          AS TXN_CURRENCY_CODE
    , decode(scope.line_source_type,
        'R', (crdl.Funding_Revenue_Amount),
        'L', (-crdl.Funding_Revenue_Amount)
      )                                   AS TXN_REVENUE
    , to_number(null)                     AS TXN_RAW_COST
    , to_number(null)                     AS TXN_BILL_RAW_COST
    , to_number(null)                     AS TXN_BURDENED_COST
    , to_number(null)                     AS TXN_BILL_BURDENED_COST
    , to_number(null)                     AS TXN_UBR
    , to_number(null)                     AS TXN_UER
    , decode(scope.line_source_type,
        'R', (crdl.Project_Revenue_Amount),
        'L', (-crdl.Project_Revenue_Amount)
      )                                   AS PRJ_REVENUE
    , to_number(null)                     AS PRJ_RAW_COST
    , to_number(null)                     AS PRJ_BILL_RAW_COST
    , to_number(null)                     AS PRJ_BURDENED_COST
    , to_number(null)                     AS PRJ_BILL_BURDENED_COST
    , to_number(null)                     AS PRJ_UBR
    , to_number(null)                     AS PRJ_UER
    , decode(scope.line_source_type,
        'R', (crdl.Projfunc_Revenue_Amount),
        'L', (-crdl.Projfunc_Revenue_Amount)
      )                                   AS POU_REVENUE
    , to_number(null)                     AS POU_RAW_COST
    , to_number(null)                     AS POU_BILL_RAW_COST
    , to_number(null)                     AS POU_BURDENED_COST
    , to_number(null)                     AS POU_BILL_BURDENED_COST
    , to_number(null)                     AS POU_UBR
    , to_number(null)                     AS POU_UER
    , to_number(null)                     AS EOU_RAW_COST
    , to_number(null)                     AS EOU_BILL_RAW_COST
    , to_number(null)                     AS EOU_BURDENED_COST
    , to_number(null)                     AS EOU_BILL_BURDENED_COST
    , to_number(null)                     AS EOU_UBR
    , to_number(null)                     AS EOU_UER
    , to_number(null)                     AS QUANTITY
    , to_number(null)                     AS BILL_QUANTITY
	, ei.CBS_ELEMENT_ID                AS      CBS_ELEMENT_ID     /* Added for CBS Changes */
    FROM
        PJI_FM_REXT_CRDL               scope
      , pa_cust_rev_dist_lines_all      crdl
      , pa_expenditure_items_all        ei
      , pa_expenditures_all             exp
      , pa_expenditure_types            et
    WHERE
          scope.worker_id = p_worker_id
      and scope.crdl_rowid = crdl.rowid
      and crdl.function_code NOT IN ('LRL','LRB','URL','URB')
      and crdl.expenditure_item_id = ei.expenditure_item_id
      and ei.expenditure_type = et.expenditure_type
      and exp.expenditure_id = ei.expenditure_id
    )  grp
    GROUP BY
       grp.WORKER_ID
     , grp.SLICE_ID
     , grp.PROJECT_ID
     , grp.TASK_ID
     , grp.PERSON_ID
     , grp.PROJECT_ORG_ID
     , grp.PROJECT_ORGANIZATION_ID
     , grp.PROJECT_TYPE_CLASS
     , grp.CUSTOMER_ID
     , grp.EXPENDITURE_ORG_ID
     , grp.EXPENDITURE_ORGANIZATION_ID
     , grp.JOB_ID
     , grp.VENDOR_ID
     , grp.WORK_TYPE_ID
     , grp.EXP_EVT_TYPE_ID
     , grp.EXPENDITURE_TYPE
     , grp.EVENT_TYPE
     , grp.EVENT_TYPE_CLASSIFICATION
     , grp.EXPENDITURE_CATEGORY
     , grp.REVENUE_CATEGORY
     , grp.NON_LABOR_RESOURCE
     , grp.BOM_LABOR_RESOURCE_ID
     , grp.BOM_EQUIPMENT_RESOURCE_ID
     , grp.INVENTORY_ITEM_ID
     , grp.PO_LINE_ID
     , grp.ASSIGNMENT_ID
     , grp.SYSTEM_LINKAGE_FUNCTION
     , grp.PJI_PROJECT_RECORD_FLAG
     , grp.PJI_RESOURCE_RECORD_FLAG
     , grp.CODE_COMBINATION_ID
     , grp.PRVDR_GL_DATE
     , grp.RECVR_GL_DATE
     , grp.GL_PERIOD_NAME
     , grp.PRVDR_PA_DATE
     , grp.RECVR_PA_DATE
     , grp.PA_PERIOD_NAME
     , grp.EXPENDITURE_ITEM_DATE
     , grp.TXN_CURRENCY_CODE
	 , grp.CBS_ELEMENT_ID    /* Added for CBS Changes */
     ;
Line: 2373

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

    select count(*)
    into   l_leftover_batches
    from   PJI_HELPER_BATCH_MAP
    where  WORKER_ID = p_worker_id and
           STATUS = 'P';
Line: 2433

        select  BATCH_ID
        into    l_helper_batch_id
        from    PJI_HELPER_BATCH_MAP
        where   WORKER_ID = p_worker_id and
                STATUS = 'P' and
                ROWNUM = 1;
Line: 2442

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

        update PA_COST_DISTRIBUTION_LINES_ALL cdl
        set    cdl.PJI_SUMMARIZED_FLAG = null
        where  cdl.ROWID in (select /*+ cardinality(cdl, 1) */
                                    cdl.CDL_ROWID
                             from   PJI_FM_REXT_CDL cdl
                             where  cdl.PJI_SUMMARIZED_FLAG = 'N' and
                                    cdl.BATCH_ID = l_helper_batch_id);
Line: 2464

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

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

            update PJI_SYSTEM_PRC_STATUS
            set    STEP_STATUS = 'C'
            where  PROCESS_NAME like PJI_FM_SUM_MAIN.g_process || x and
                   STEP_NAME =
                     'PJI_FM_EXTR.MARK_EXTRACTED_CDL_ROWS(p_worker_id);' and
Line: 2593

    INSERT /*+ APPEND */ INTO PJI_FM_AGGR_FIN1
     ( WORKER_ID
     , SLICE_ID
     , PROJECT_ID
     , TASK_ID
     , PERSON_ID
     , PROJECT_ORG_ID
     , PROJECT_ORGANIZATION_ID
     , PROJECT_TYPE_CLASS
     , CUSTOMER_ID
     , EXPENDITURE_ORG_ID
     , EXPENDITURE_ORGANIZATION_ID
     , JOB_ID
     , VENDOR_ID
     , WORK_TYPE_ID
     , EXP_EVT_TYPE_ID
     , EXPENDITURE_TYPE
     , EVENT_TYPE
     , EVENT_TYPE_CLASSIFICATION
     , EXPENDITURE_CATEGORY
     , REVENUE_CATEGORY
     , NON_LABOR_RESOURCE
     , BOM_LABOR_RESOURCE_ID
     , BOM_EQUIPMENT_RESOURCE_ID
     , INVENTORY_ITEM_ID
     , SYSTEM_LINKAGE_FUNCTION
     , PJI_PROJECT_RECORD_FLAG
     , PJI_RESOURCE_RECORD_FLAG
     , CODE_COMBINATION_ID
     , PRVDR_GL_DATE
     , RECVR_GL_DATE
     , GL_PERIOD_NAME
     , PRVDR_PA_DATE
     , RECVR_PA_DATE
     , PA_PERIOD_NAME
     , TXN_CURRENCY_CODE
     , TXN_REVENUE
     , TXN_RAW_COST
     , TXN_BILL_RAW_COST
     , TXN_BURDENED_COST
     , TXN_BILL_BURDENED_COST
     , TXN_UBR
     , TXN_UER
     , PRJ_REVENUE
     , PRJ_RAW_COST
     , PRJ_BILL_RAW_COST
     , PRJ_BURDENED_COST
     , PRJ_BILL_BURDENED_COST
     , PRJ_UBR
     , PRJ_UER
     , POU_REVENUE
     , POU_RAW_COST
     , POU_BILL_RAW_COST
     , POU_BURDENED_COST
     , POU_BILL_BURDENED_COST
     , POU_UBR
     , POU_UER
     , EOU_RAW_COST
     , EOU_BILL_RAW_COST
     , EOU_BURDENED_COST
     , EOU_BILL_BURDENED_COST
     , EOU_UBR
     , EOU_UER
     , QUANTITY
     , BILL_QUANTITY
    )
    SELECT
       grp.WORKER_ID
     , grp.SLICE_ID
     , grp.PROJECT_ID
     , grp.TASK_ID
     , grp.PERSON_ID
     , grp.PROJECT_ORG_ID
     , grp.PROJECT_ORGANIZATION_ID
     , grp.PROJECT_TYPE_CLASS
     , grp.CUSTOMER_ID
     , grp.EXPENDITURE_ORG_ID
     , grp.EXPENDITURE_ORGANIZATION_ID
     , grp.JOB_ID
     , grp.VENDOR_ID
     , grp.WORK_TYPE_ID
     , grp.EXP_EVT_TYPE_ID
     , grp.EXPENDITURE_TYPE
     , grp.EVENT_TYPE
     , grp.EVENT_TYPE_CLASSIFICATION
     , grp.EXPENDITURE_CATEGORY
     , grp.REVENUE_CATEGORY
     , grp.NON_LABOR_RESOURCE
     , grp.BOM_LABOR_RESOURCE_ID
     , grp.BOM_EQUIPMENT_RESOURCE_ID
     , grp.INVENTORY_ITEM_ID
     , grp.SYSTEM_LINKAGE_FUNCTION
     , grp.PJI_PROJECT_RECORD_FLAG
     , grp.PJI_RESOURCE_RECORD_FLAG
     , grp.CODE_COMBINATION_ID
     , grp.PRVDR_GL_DATE
     , grp.RECVR_GL_DATE
     , grp.GL_PERIOD_NAME
     , grp.PRVDR_PA_DATE
     , grp.RECVR_PA_DATE
     , grp.PA_PERIOD_NAME
     , grp.TXN_CURRENCY_CODE
     , sum(grp.TXN_REVENUE)
     , sum(grp.TXN_RAW_COST)
     , sum(grp.TXN_BILL_RAW_COST)
     , sum(grp.TXN_BURDENED_COST)
     , sum(grp.TXN_BILL_BURDENED_COST)
     , sum(grp.TXN_UBR)
     , sum(grp.TXN_UER)
     , sum(grp.PRJ_REVENUE)
     , sum(grp.PRJ_RAW_COST)
     , sum(grp.PRJ_BILL_RAW_COST)
     , sum(grp.PRJ_BURDENED_COST)
     , sum(grp.PRJ_BILL_BURDENED_COST)
     , sum(grp.PRJ_UBR)
     , sum(grp.PRJ_UER)
     , sum(grp.POU_REVENUE)
     , sum(grp.POU_RAW_COST)
     , sum(grp.POU_BILL_RAW_COST)
     , sum(grp.POU_BURDENED_COST)
     , sum(grp.POU_BILL_BURDENED_COST)
     , sum(grp.POU_UBR)
     , sum(grp.POU_UER)
     , sum(grp.EOU_RAW_COST)
     , sum(grp.EOU_BILL_RAW_COST)
     , sum(grp.EOU_BURDENED_COST)
     , sum(grp.EOU_BILL_BURDENED_COST)
     , sum(grp.EOU_UBR)
     , sum(grp.EOU_UER)
     , sum(grp.QUANTITY)
     , sum(grp.BILL_QUANTITY)
    FROM (
    SELECT /*+ ORDERED */
      p_worker_id                         AS WORKER_ID
    , 1                                   AS SLICE_ID
    , erdl.Project_ID                     AS PROJECT_ID
    , scope.Task_ID                       AS TASK_ID
    , -1                                  AS PERSON_ID
    , scope.Project_Org_ID                AS PROJECT_ORG_ID
    , scope.Project_Organization_ID       AS PROJECT_ORGANIZATION_ID
    , scope.Project_Type_Class            AS PROJECT_TYPE_CLASS
    , scope.Customer_ID                   AS CUSTOMER_ID
    , -1                                  AS EXPENDITURE_ORG_ID
    , scope.Expenditure_Organization_ID   AS EXPENDITURE_ORGANIZATION_ID
    , -1                                  AS JOB_ID
    , -1                                  AS VENDOR_ID
    , -1                                  AS WORK_TYPE_ID
    , scope.Exp_Evt_Type_ID               AS EXP_EVT_TYPE_ID
    , PJI_FM_SUM_MAIN.g_null              AS EXPENDITURE_TYPE
    , scope.Event_Type                    AS EVENT_TYPE
    , scope.Event_Type_Classification     AS EVENT_TYPE_CLASSIFICATION
    , PJI_FM_SUM_MAIN.g_null              AS EXPENDITURE_CATEGORY
    , scope.Revenue_Category              AS REVENUE_CATEGORY
    , 'PJI$NULL'                          AS NON_LABOR_RESOURCE
    , -1                                  AS BOM_LABOR_RESOURCE_ID
    , -1                                  AS BOM_EQUIPMENT_RESOURCE_ID
    , -1                                  AS INVENTORY_ITEM_ID
    , PJI_FM_SUM_MAIN.g_null              AS SYSTEM_LINKAGE_FUNCTION
    , 'Y'                                 AS PJI_PROJECT_RECORD_FLAG
    , 'N'                                 AS PJI_RESOURCE_RECORD_FLAG
    , -1                                  AS CODE_COMBINATION_ID
    , Greatest(scope.GL_Date,l_min_date)  AS PRVDR_GL_DATE
    , Greatest(scope.GL_Date,l_min_date)  AS RECVR_GL_DATE
    , scope.GL_Period_Name                AS GL_PERIOD_NAME
    , Greatest(scope.PA_Date,l_min_date)  AS PRVDR_PA_DATE
    , Greatest(scope.PA_Date,l_min_date)  AS RECVR_PA_DATE
    , scope.PA_Period_Name                AS PA_PERIOD_NAME
    , erdl.Funding_Currency_Code          AS TXN_CURRENCY_CODE
    , decode(scope.line_source_type,
        'R', (erdl.Funding_Revenue_Amount),
        'L', (-erdl.Funding_Revenue_Amount)
      )                                   AS TXN_REVENUE
    , to_number(null)                     AS TXN_RAW_COST
    , to_number(null)                     AS TXN_BILL_RAW_COST
    , to_number(null)                     AS TXN_BURDENED_COST
    , to_number(null)                     AS TXN_BILL_BURDENED_COST
    , to_number(null)                     AS TXN_UBR
    , to_number(null)                     AS TXN_UER
    , decode(scope.line_source_type,
        'R', (erdl.Project_Revenue_Amount),
        'L', (-erdl.Project_Revenue_Amount)
      )                                   AS PRJ_REVENUE
    , to_number(null)                     AS PRJ_RAW_COST
    , to_number(null)                     AS PRJ_BILL_RAW_COST
    , to_number(null)                     AS PRJ_BURDENED_COST
    , to_number(null)                     AS PRJ_BILL_BURDENED_COST
    , to_number(null)                     AS PRJ_UBR
    , to_number(null)                     AS PRJ_UER
    , decode(scope.line_source_type,
        'R', (erdl.Projfunc_Revenue_Amount),
        'L', (-erdl.Projfunc_Revenue_Amount)
      )                                   AS POU_REVENUE
    , to_number(null)                     AS POU_RAW_COST
    , to_number(null)                     AS POU_BILL_RAW_COST
    , to_number(null)                     AS POU_BURDENED_COST
    , to_number(null)                     AS POU_BILL_BURDENED_COST
    , to_number(null)                     AS POU_UBR
    , to_number(null)                     AS POU_UER
    , to_number(null)                     AS EOU_RAW_COST
    , to_number(null)                     AS EOU_BILL_RAW_COST
    , to_number(null)                     AS EOU_BURDENED_COST
    , to_number(null)                     AS EOU_BILL_BURDENED_COST
    , to_number(null)                     AS EOU_UBR
    , to_number(null)                     AS EOU_UER
    , to_number(null)                     AS QUANTITY
    , to_number(null)                     AS BILL_QUANTITY
    FROM
        PJI_FM_REXT_ERDL               scope
      , pa_cust_event_rdl_all           erdl
    WHERE
          scope.worker_id = p_worker_id
      and scope.erdl_rowid = erdl.rowid
      and scope.event_num = erdl.event_num
      and NVL(scope.task_id,-1) = NVL(erdl.task_id,-1)
    )  grp
    GROUP BY
       grp.WORKER_ID
     , grp.SLICE_ID
     , grp.PROJECT_ID
     , grp.TASK_ID
     , grp.PERSON_ID
     , grp.PROJECT_ORG_ID
     , grp.PROJECT_ORGANIZATION_ID
     , grp.PROJECT_TYPE_CLASS
     , grp.CUSTOMER_ID
     , grp.EXPENDITURE_ORG_ID
     , grp.EXPENDITURE_ORGANIZATION_ID
     , grp.JOB_ID
     , grp.VENDOR_ID
     , grp.WORK_TYPE_ID
     , grp.EXP_EVT_TYPE_ID
     , grp.EXPENDITURE_TYPE
     , grp.EVENT_TYPE
     , grp.EVENT_TYPE_CLASSIFICATION
     , grp.EXPENDITURE_CATEGORY
     , grp.REVENUE_CATEGORY
     , grp.NON_LABOR_RESOURCE
     , grp.BOM_LABOR_RESOURCE_ID
     , grp.BOM_EQUIPMENT_RESOURCE_ID
     , grp.INVENTORY_ITEM_ID
     , grp.SYSTEM_LINKAGE_FUNCTION
     , grp.PJI_PROJECT_RECORD_FLAG
     , grp.PJI_RESOURCE_RECORD_FLAG
     , grp.CODE_COMBINATION_ID
     , grp.PRVDR_GL_DATE
     , grp.RECVR_GL_DATE
     , grp.GL_PERIOD_NAME
     , grp.PRVDR_PA_DATE
     , grp.RECVR_PA_DATE
     , grp.PA_PERIOD_NAME
     , grp.TXN_CURRENCY_CODE
     ;
Line: 2879

    INSERT /*+ APPEND */ INTO PJI_FM_EXTR_DINVC
    ( WORKER_ID
    , ROW_ID
    , PROJECT_ORG_ID
    , PROJECT_ORGANIZATION_ID
    , PROJECT_ID
    , PJI_PROJECT_STATUS
    , DRAFT_INVOICE_NUM
    , UNBILLED_RECEIVABLE_DR
    , UNEARNED_REVENUE_CR
    , TRANSFER_STATUS_CODE
    , GL_DATE
    , PA_DATE
    , SYSTEM_REFERENCE
    , APPROVED_DATE
    , APPROVED_BY_PERSON_ID
    , CANCEL_CREDIT_MEMO_FLAG
    , WRITE_OFF_FLAG
    , INTER_COMPANY_BILLING_FLAG
    , PJI_SUMMARIZED_FLAG
    , CUSTOMER_ID
    , APPROVED_FLAG
    , PJI_DATE_RANGE_FLAG
    )
    SELECT /*+ ordered
               full(bat)  use_hash(bat)   parallel(bat)
               full(ppa)  use_hash(ppa)   parallel(ppa)
               full(ptyp) use_hash(ptyp)
               full(dinv) use_hash(dinv)  parallel(dinv)
               full(agr)  use_hash(agr)   parallel(agr)   */
      p_worker_id                      worker_id
    , dinv.rowid                       row_id
    , nvl(ppa.org_id, -1)              project_org_id
    , ppa.carrying_out_organization_id project_organization_id
    , dinv.project_id                  project_id
    , bat.pji_project_status           pji_project_status
    , dinv.draft_invoice_num           draft_invoice_num
    , dinv.unbilled_receivable_dr      unbilled_receivable_dr
    , dinv.unearned_revenue_cr         unearned_revenue_cr
    , dinv.transfer_status_code        transfer_status_code
    , dinv.gl_date                     gl_date
    , dinv.pa_date                     pa_date
    , dinv.system_reference            system_reference
    , dinv.approved_date               approved_date
    , dinv.approved_by_person_id       approved_by_person_id
    , nvl2(dinv.draft_invoice_num_credited,'Y','N')     cancel_credit_memo_flag
    , dinv.write_off_flag              write_off_flag
    , ptyp.cc_prvdr_flag               inter_company_billing_flag
    , dinv.pji_summarized_flag         pji_summarized_flag
    , agr.customer_id                  customer_id
    , decode(nvl(dinv.approved_by_person_id,
                 -1), -1, 'N','Y')     approved_flag
    , 'Y'                              pji_date_range_flag
    -- the flag cc_prvdr_flag on the project_type indicates whether
    -- the project is used for inter project billings
    -- since we are considering only external revenue to be consistent we
    -- need to consider only the external invoices
    -- NOTE for cost we will consider everything (external + internal)
    -- this skews the margin but ...
    FROM
            pji_fm_proj_batch_map            bat
          , pa_projects_all                  ppa
          , pa_project_types_all             ptyp
          , pa_draft_invoices_all            dinv
          , pa_agreements_all                agr
    WHERE
          l_extraction_type = 'FULL'
      and bat.worker_id = p_worker_id
      and ppa.project_id = bat.project_id
      and ppa.project_type = ptyp.project_type
      and nvl(ppa.org_id,-1) = nvl(ptyp.org_id,-1)
    -- and ptyp.cc_prvdr_flag <> 'Oracle Inter-Project'
      and dinv.gl_date is not null
      and dinv.pa_date is not null
      and ppa.project_id = dinv.project_id
      and bat.extraction_type = 'F'
    -- the pji_summarized_flag will have other values besides N and null
    -- to indicate if the invoice is still open
    -- Thus for incremental we need to pick all the invoices which have the
    -- flag as not null.  Then only if the flag is N do we do the incremental
    -- processing.  But if the value is something else then we use it only to
    -- check activities that might have happened on the AR side
           -- and dinv.gl_date between bat.start_date and bat.end_date
      and dinv.system_reference is not null
      and dinv.system_reference <> 0
      and dinv.agreement_id = agr.agreement_id
    union all
    SELECT /*+ ordered
               full(bat)
               index(drv, PA_DRAFT_INVOICES_U1)
               use_nl(dinv, ppa, ptyp, agr)
               parallel(bat) parallel(dinv) parallel(ppa)
               parallel(ptyp) parallel(agr) */
      p_worker_id                      worker_id
    , dinv.rowid                       row_id
    , nvl(ppa.org_id, -1)              project_org_id
    , ppa.carrying_out_organization_id project_organization_id
    , dinv.project_id                  project_id
    , bat.pji_project_status           pji_project_status
    , dinv.draft_invoice_num           draft_invoice_num
    , dinv.unbilled_receivable_dr      unbilled_receivable_dr
    , dinv.unearned_revenue_cr         unearned_revenue_cr
    , dinv.transfer_status_code        transfer_status_code
    , dinv.gl_date                     gl_date
    , dinv.pa_date                     pa_date
    , dinv.system_reference            system_reference
    , dinv.approved_date               approved_date
    , dinv.approved_by_person_id       approved_by_person_id
    , nvl2(dinv.draft_invoice_num_credited,'Y','N')     cancel_credit_memo_flag
    , dinv.write_off_flag              write_off_flag
    , ptyp.cc_prvdr_flag               inter_company_billing_flag
    , dinv.pji_summarized_flag         pji_summarized_flag
    , agr.customer_id                  customer_id
    , decode(nvl(dinv.approved_by_person_id,
                 -1), -1, 'N','Y')     approved_flag
    , 'Y'                              pji_date_range_flag
    -- the flag cc_prvdr_flag on the project_type indicates whether
    -- the project is used for inter project billings
    -- since we are considering only external revenue to be consistent we
    -- need to consider only the external invoices
    -- NOTE for cost we will consider everything (external + internal)
    -- this skews the margin but ...
    FROM
            pji_fm_proj_batch_map            bat
          , pa_draft_invoices_all            dinv
          , pa_projects_all                  ppa
          , pa_project_types_all             ptyp
          , pa_agreements_all                agr
    WHERE
          l_extraction_type = 'INCREMENTAL'
      and bat.worker_id = p_worker_id
      and bat.project_id = dinv.project_id
      and ppa.project_id = bat.project_id
      and ppa.project_type = ptyp.project_type
      and nvl(ppa.org_id,-1) = nvl(ptyp.org_id,-1)
--      and ptyp.cc_prvdr_flag <> 'Oracle Inter-Project'
      and dinv.gl_date is not null
      and dinv.pa_date is not null
      and ppa.project_id = dinv.project_id
      and bat.extraction_type = 'F'
    -- the pji_summarized_flag will have other values besides N and null
    -- to indicate if the invoice is still open
    -- Thus for incremental we need to pick all the invoices which have the
    -- flag as not null.  Then only if the flag is N do we do the incremental
    -- processing.  But if the value is something else then we use it only to
    -- check activities that might have happened on the AR side
           -- and dinv.gl_date between bat.start_date and bat.end_date
      and dinv.system_reference is not null
      and dinv.system_reference <> 0
      and dinv.agreement_id = agr.agreement_id
    union all
    SELECT /*+ ordered
               index(dinv PA_DRAFT_INVOICES_N11)
               full(bat) use_nl(dinv, ppa, ptyp, agr)
               parallel(bat) parallel(dinv) parallel(ppa)
               parallel(ptyp) parallel(agr) */
      p_worker_id                      worker_id
    , dinv.rowid                       row_id
    , nvl(ppa.org_id, -1)              project_org_id
    , ppa.carrying_out_organization_id project_organization_id
    , dinv.project_id                  project_id
    , bat.pji_project_status           pji_project_status
    , dinv.draft_invoice_num           draft_invoice_num
    , dinv.unbilled_receivable_dr      unbilled_receivable_dr
    , dinv.unearned_revenue_cr         unearned_revenue_cr
    , dinv.transfer_status_code        transfer_status_code
    , dinv.gl_date                     gl_date
    , dinv.pa_date                     pa_date
    , dinv.system_reference            system_reference
    , dinv.approved_date               approved_date
    , dinv.approved_by_person_id       approved_by_person_id
    , nvl2(dinv.draft_invoice_num_credited,'Y','N')     cancel_credit_memo_flag
    , dinv.write_off_flag              write_off_flag
    , ptyp.cc_prvdr_flag               inter_company_billing_flag
    , dinv.pji_summarized_flag         pji_summarized_flag
    , agr.customer_id                  customer_id
    , decode(nvl(dinv.approved_by_person_id,
                 -1), -1, 'N','Y')     approved_flag
    , 'Y'                              pji_date_range_flag
    -- the flag cc_prvdr_flag on the project_type indicates whether
    -- the project is used for inter project billings
    -- since we are considering only external revenue to be consistent we
    -- need to consider only the external invoices
    -- NOTE for cost we will consider everything (external + internal)
    -- this skews the margin but ...
    FROM
            pji_fm_proj_batch_map            bat
          , pa_draft_invoices_all            dinv
          , pa_projects_all                  ppa
          , pa_project_types_all             ptyp
          , pa_agreements_all                agr
    WHERE
          l_extraction_type = 'INCREMENTAL'
      and bat.worker_id = p_worker_id
      and ppa.project_id = bat.project_id
      and dinv.project_id = bat.project_id
      and ppa.project_type = ptyp.project_type
      and nvl(ppa.org_id,-1) = nvl(ptyp.org_id,-1)
--      and ptyp.cc_prvdr_flag <> 'Oracle Inter-Project'
      and dinv.gl_date is not null
      and dinv.pa_date is not null
      and ppa.project_id = dinv.project_id
      and bat.extraction_type = 'I'
      and dinv.pji_summarized_flag = 'N'
    -- the pji_summarized_flag will have other values besides N and null
    -- to indicate if the invoice is still open
    -- Thus for incremental we need to pick all the invoices which have the
    -- flag as not null.  Then only if the flag is N do we do the incremental
    -- processing.  But if the value is something else then we use it only to
    -- check activities that might have happened on the AR side
           -- and dinv.gl_date between bat.start_date and bat.end_date
      and dinv.system_reference is not null
      and dinv.system_reference <> 0
      and dinv.agreement_id = agr.agreement_id
    union all
    SELECT /*+ ordered
               full(bat)  use_hash(bat)   parallel(bat)
               full(ppa)  use_hash(ppa)   parallel(ppa)
               full(ptyp) use_hash(ptyp)
               full(dinv) use_hash(dinv)  parallel(dinv)
               full(agr)  use_hash(agr)   parallel(agr)   */
      p_worker_id                      worker_id
    , dinv.rowid                       row_id
    , nvl(ppa.org_id, -1)              project_org_id
    , ppa.carrying_out_organization_id project_organization_id
    , dinv.project_id                  project_id
    , bat.pji_project_status           pji_project_status
    , dinv.draft_invoice_num           draft_invoice_num
    , dinv.unbilled_receivable_dr      unbilled_receivable_dr
    , dinv.unearned_revenue_cr         unearned_revenue_cr
    , dinv.transfer_status_code        transfer_status_code
    , dinv.gl_date                     gl_date
    , dinv.pa_date                     pa_date
    , dinv.system_reference            system_reference
    , dinv.approved_date               approved_date
    , dinv.approved_by_person_id       approved_by_person_id
    , nvl2(dinv.draft_invoice_num_credited,'Y','N')     cancel_credit_memo_flag
    , dinv.write_off_flag              write_off_flag
    , ptyp.cc_prvdr_flag               inter_company_billing_flag
    , dinv.pji_summarized_flag         pji_summarized_flag
    , agr.customer_id                  customer_id
    , decode(nvl(dinv.approved_by_person_id,
                 -1), -1, 'N','Y')     approved_flag
    , 'Y'                              pji_date_range_flag
    -- the flag cc_prvdr_flag on the project_type indicates whether
    -- the project is used for inter project billings
    -- since we are considering only external revenue to be consistent we
    -- need to consider only the external invoices
    -- NOTE for cost we will consider everything (external + internal)
    -- this skews the margin but ...
    FROM
            pji_fm_proj_batch_map            bat
          , pa_projects_all                  ppa
          , pa_project_types_all             ptyp
          , pa_draft_invoices_all            dinv
          , pa_agreements_all                agr
    WHERE
          l_extraction_type = 'PARTIAL'
      and bat.worker_id = p_worker_id
      and ppa.project_id = bat.project_id
      and ppa.project_type = ptyp.project_type
      and nvl(ppa.org_id,-1) = nvl(ptyp.org_id,-1)
--      and ptyp.cc_prvdr_flag <> 'Oracle Inter-Project'
      and dinv.gl_date is not null
      and dinv.pa_date is not null
      and ppa.project_id = dinv.project_id
      and bat.extraction_type = 'P'
    -- the pji_summarized_flag will have other values besides N and null
    -- to indicate if the invoice is still open
    -- Thus for incremental we need to pick all the invoices which have the
    -- flag as not null.  Then only if the flag is N do we do the incremental
    -- processing.  But if the value is something else then we use it only to
    -- check activities that might have happened on the AR side
           -- and dinv.gl_date between bat.start_date and bat.end_date
      and dinv.system_reference is not null
      and dinv.system_reference <> 0
      and dinv.agreement_id = agr.agreement_id;
Line: 3180

    UPDATE pa_draft_invoices_all    dinv
    SET    dinv.pji_summarized_flag = 'O'
    -- later the flag is updated to null for those invoices that are closed
    WHERE  dinv.rowid in (select row_id
                          from   PJI_FM_EXTR_DINVC
                          where  worker_id = p_worker_id
                            and  transfer_status_code = 'A'
                         )
       AND ( (l_extraction_type = 'INCREMENTAL'
              and  nvl(dinv.pji_summarized_flag,'O') <> 'O')
                   or
                   l_extraction_type <> 'INCREMENTAL'
           )
    ;
Line: 3239

    INSERT /*+ APPEND */ INTO PJI_FM_EXTR_DINVCITM
    ( WORKER_ID
    , PROJECT_ORG_ID
    , PROJECT_ORGANIZATION_ID
    , PROJECT_ID
    , DRAFT_INVOICE_NUM
    , GL_DATE
    , PA_DATE
    , CANCEL_CREDIT_MEMO_FLAG
    , WRITE_OFF_FLAG
    , INTER_COMPANY_BILLING_FLAG
    , PJI_SUMMARIZED_FLAG
    , POU_INVOICE_AMOUNT
    , PRJ_INVOICE_AMOUNT
    , CUSTOMER_ID
    , APPROVED_FLAG
    , PJI_DATE_RANGE_FLAG
    , TRANSFER_STATUS_CODE
    , PJI_RECORD_TYPE
    , AR_INVOICE_COUNT
    , AR_INVOICE_WRITEOFF_COUNT
    , AR_CREDIT_MEMO_COUNT
    , AR_UNAPPR_INVOICE_COUNT
    , AR_APPR_INVOICE_COUNT
    )
    SELECT /*+ ordered
               full(part) use_hash(part)
               full(item) use_hash(item) parallel(item) */
      p_worker_id                              worker_id
    , nvl(part.project_org_id, -1)             project_org_id
    , part.project_organization_id             project_organization_id
    , part.project_id                          project_id
    , part.draft_invoice_num                   draft_invoice_num
    , part.gl_date                             gl_date
    , part.pa_date                             pa_date
    , part.cancel_credit_memo_flag             cancel_credit_memo_flag
    , part.write_off_flag                      write_off_flag
    , part.inter_company_billing_flag          inter_company_billing_flag
    , part.pji_summarized_flag                 pji_summarized_flag
    , nvl(sum(item.projfunc_bill_amount),0)    pou_invoice_amount
    , nvl(sum(item.project_bill_amount),0)     prj_invoice_amount
    , part.customer_id                         customer_id
    , part.approved_flag                       approved_flag
    , part.pji_date_range_flag                 pji_date_range_flag
    , part.transfer_status_code                transfer_status_code
    , decode(part.transfer_status_code,        -- Activity 'A' vs Snapshot 'S'
             'A','A','S')                      pji_record_type
    , to_number(null)                          ar_invoice_count
    , to_number(null)                          ar_invoice_writeoff_count
    , to_number(null)                          ar_credit_memo_count
    , to_number(null)                          ar_unappr_invoice_count
    , to_number(null)                          ar_appr_invoice_count
    FROM
      PJI_FM_EXTR_DINVC                part
    , pa_draft_invoice_items          item
    WHERE
          l_extraction_type = 'FULL'
      and part.worker_id      = p_worker_id
      and part.project_id        = item.project_id
      and part.draft_invoice_num = item.draft_invoice_num
      and item.invoice_line_type <> 'NET ZERO ADJUSTMENT'
      and part.gl_date is not null
      and part.pa_date is not null
    GROUP BY part.project_id,
             nvl(part.project_org_id, -1),
             part.project_organization_id,
             part.draft_invoice_num,
             part.gl_date,
             part.pa_date,
             part.write_off_flag,
             part.customer_id,
             part.approved_flag,
             part.pji_date_range_flag,
             part.transfer_status_code,
             part.cancel_credit_memo_flag,
             part.inter_company_billing_flag,
             part.pji_summarized_flag
    union all
    SELECT /*+ ordered
               full(part)
            */
      p_worker_id                              worker_id
    , nvl(part.project_org_id, -1)             project_org_id
    , part.project_organization_id             project_organization_id
    , part.project_id                          project_id
    , part.draft_invoice_num                   draft_invoice_num
    , part.gl_date                             gl_date
    , part.pa_date                             pa_date
    , part.cancel_credit_memo_flag             cancel_credit_memo_flag
    , part.write_off_flag                      write_off_flag
    , part.inter_company_billing_flag          inter_company_billing_flag
    , part.pji_summarized_flag                 pji_summarized_flag
    , nvl(sum(item.projfunc_bill_amount),0)    pou_invoice_amount
    , nvl(sum(item.project_bill_amount),0)     prj_invoice_amount
    , part.customer_id                         customer_id
    , part.approved_flag                       approved_flag
    , part.pji_date_range_flag                 pji_date_range_flag
    , part.transfer_status_code                transfer_status_code
    , decode(part.transfer_status_code,        -- Activity 'A' vs Snapshot 'S'
             'A','A','S')                      pji_record_type
    , to_number(null)                          ar_invoice_count
    , to_number(null)                          ar_invoice_writeoff_count
    , to_number(null)                          ar_credit_memo_count
    , to_number(null)                          ar_unappr_invoice_count
    , to_number(null)                          ar_appr_invoice_count
    FROM
      PJI_FM_EXTR_DINVC                part
    , pa_draft_invoice_items          item
    WHERE
          l_extraction_type = 'INCREMENTAL'
      and part.worker_id      = p_worker_id
      and part.project_id        = item.project_id
      and part.draft_invoice_num = item.draft_invoice_num
      and item.invoice_line_type <> 'NET ZERO ADJUSTMENT'
      and part.gl_date is not null
      and part.pa_date is not null
    GROUP BY part.project_id,
             nvl(part.project_org_id, -1),
             part.project_organization_id,
             part.draft_invoice_num,
             part.gl_date,
             part.pa_date,
             part.write_off_flag,
             part.customer_id,
             part.approved_flag,
             part.pji_date_range_flag,
             part.transfer_status_code,
             part.cancel_credit_memo_flag,
             part.inter_company_billing_flag,
             part.pji_summarized_flag
    union all
    SELECT /*+ ordered
               full(part) use_hash(part)
               full(item) use_hash(item)  parallel(item)  */
      p_worker_id                              worker_id
    , nvl(part.project_org_id, -1)             project_org_id
    , part.project_organization_id             project_organization_id
    , part.project_id                          project_id
    , part.draft_invoice_num                   draft_invoice_num
    , part.gl_date                             gl_date
    , part.pa_date                             pa_date
    , part.cancel_credit_memo_flag             cancel_credit_memo_flag
    , part.write_off_flag                      write_off_flag
    , part.inter_company_billing_flag          inter_company_billing_flag
    , part.pji_summarized_flag                 pji_summarized_flag
    , nvl(sum(item.projfunc_bill_amount),0)    pou_invoice_amount
    , nvl(sum(item.project_bill_amount),0)     prj_invoice_amount
    , part.customer_id                         customer_id
    , part.approved_flag                       approved_flag
    , part.pji_date_range_flag                 pji_date_range_flag
    , part.transfer_status_code                transfer_status_code
    , decode(part.transfer_status_code,        -- Activity 'A' vs Snapshot 'S'
             'A','A','S')                      pji_record_type
    , to_number(null)                          ar_invoice_count
    , to_number(null)                          ar_invoice_writeoff_count
    , to_number(null)                          ar_credit_memo_count
    , to_number(null)                          ar_unappr_invoice_count
    , to_number(null)                          ar_appr_invoice_count
    FROM
      PJI_FM_EXTR_DINVC                part
    , pa_draft_invoice_items          item
    WHERE
          l_extraction_type = 'PARTIAL'
      and part.worker_id      = p_worker_id
      and part.project_id        = item.project_id
      and part.draft_invoice_num = item.draft_invoice_num
      and item.invoice_line_type <> 'NET ZERO ADJUSTMENT'
      and part.gl_date is not null
      and part.pa_date is not null
    GROUP BY part.project_id,
             nvl(part.project_org_id, -1),
             part.project_organization_id,
             part.draft_invoice_num,
             part.gl_date,
             part.pa_date,
             part.write_off_flag,
             part.customer_id,
             part.approved_flag,
             part.pji_date_range_flag,
             part.transfer_status_code,
             part.cancel_credit_memo_flag,
             part.inter_company_billing_flag,
             part.pji_summarized_flag
    union all
    SELECT
      p_worker_id                              worker_id
    , nvl(part.project_org_id, -1)             project_org_id
    , part.project_organization_id             project_organization_id
    , part.project_id                          project_id
    , part.draft_invoice_num                   draft_invoice_num
    , part.gl_date                             gl_date
    , part.pa_date                             pa_date
    , part.cancel_credit_memo_flag             cancel_credit_memo_flag
    , part.write_off_flag                      write_off_flag
    , part.inter_company_billing_flag          inter_company_billing_flag
    , part.pji_summarized_flag                 pji_summarized_flag
    , to_number(null)                          pou_invoice_amount
    , to_number(null)                          prj_invoice_amount
    , part.customer_id                         customer_id
    , part.approved_flag                       approved_flag
    , part.pji_date_range_flag                 pji_date_range_flag
    , part.transfer_status_code                transfer_status_code
    , decode(part.transfer_status_code,        -- Activity 'A' vs Snapshot 'S'
             'A','A','S')                      pji_record_type
    , decode(part.pji_date_range_flag || '_' ||
             decode(part.transfer_status_code,
                    'A','A','S'),
             'Y_A', 1, 0)                      ar_invoice_count
    , decode(part.pji_date_range_flag || '_' ||
             decode(part.transfer_status_code,
                    'A','A','S') || '_' ||
             part.write_off_flag,
             'Y_A_Y', 1,0)                     ar_invoice_writeoff_count
    , decode(part.pji_date_range_flag || '_' ||
             decode(part.transfer_status_code,
                    'A','A','S') || '_' ||
             part.cancel_credit_memo_flag,
             'Y_A_Y', 1,0)                     ar_credit_memo_count
    , decode(decode(part.transfer_status_code,
                    'A','A','S') || '_' ||
             part.approved_flag,
             'S_N',1,0)                        ar_unappr_invoice_count
    , decode(decode(part.transfer_status_code,
                    'A','A','S') || '_' ||
             part.approved_flag,
             'S_Y',1,0)                        ar_appr_invoice_count
    FROM
      PJI_FM_EXTR_DINVC part
    WHERE
          part.worker_id = p_worker_id
      and part.gl_date is not null
      and part.pa_date is not null;
Line: 3497

    INSERT /*+ APPEND */ INTO PJI_FM_EXTR_ARINV
    ( WORKER_ID
    , ROW_ID
    , PROJECT_ID
    , PROJECT_ORG_ID
    , PROJECT_ORGANIZATION_ID
    , DRAFT_INVOICE_NUM
    , CASH_APPLIED_AMOUNT
    , AMOUNT_DUE_REMAINING
    , AMOUNT_OVERDUE_REMAINING
    , MAX_ACTUAL_DATE_CLOSED
    , CUSTOMER_ID
    , PJI_SUMMARIZED_FLAG
    , BATCH_ID
    )
    SELECT
      p_worker_id worker_id
    , row_id
    , project_id
    , project_org_id
    , project_organization_id
    , draft_invoice_num
    , cash_applied_amount
    , amount_due_remaining
    , amount_overdue_remaining
    , actual_date_closed
    , customer_id
    , pji_summarized_flag
    , ceil(ROWNUM / PJI_FM_SUM_MAIN.g_commit_threshold)
    from
    (SELECT /*+ ordered
               parallel(part)
               full(bat)  use_hash(bat) */
      part.rowid                          row_id
    , part.project_id                     project_id
    , bat.project_org_id
    , bat.project_organization_id
    , part.draft_invoice_num              draft_invoice_num
    , nvl(sum(ar.amount_applied),0)       cash_applied_amount
    , decode(sign(ar.due_date - trunc(sysdate)),
             -1, 0, nvl(sum(ar.amount_due_remaining),
                        0))                amount_due_remaining
    , decode(sign(ar.due_date - trunc(sysdate)),
             -1, nvl(sum(ar.amount_due_remaining),0),
             0)                           amount_overdue_remaining
    , max(ar.actual_date_closed)          actual_date_closed
    , trx.bill_to_customer_id             customer_id
    , part.pji_summarized_flag
    FROM
            pa_draft_invoices_all         part
          , pji_fm_proj_batch_map         bat
          , ra_customer_trx_all           trx
          , ar_payment_schedules_all      ar
    WHERE
          bat.worker_id            = p_worker_id
      and part.project_id          = bat.project_id
      and part.gl_date             is not null
      and part.pa_date             is not null
      and part.pji_summarized_flag = 'O'
      and trx.customer_trx_id      = part.system_reference
      and ar.customer_trx_id       = trx.customer_trx_id
    GROUP BY
          part.rowid,
          part.project_id,
          bat.project_org_id,
          bat.project_organization_id,
          part.draft_invoice_num,
          ar.due_date,
          trx.bill_to_customer_id,
          part.pji_summarized_flag);
Line: 3591

    insert /*+ append */ into PJI_HELPER_BATCH_MAP
    (
      BATCH_ID,
      WORKER_ID,
      STATUS
    )
    select
      distinct
      BATCH_ID,
      null,
      null
    from
      PJI_FM_EXTR_ARINV
    where
      PJI_SUMMARIZED_FLAG = 'O';
Line: 3637

    select count(*)
    into   l_leftover_batches
    from   PJI_HELPER_BATCH_MAP
    where  WORKER_ID = p_worker_id and
           STATUS = 'P';
Line: 3651

        select  BATCH_ID
        into    l_helper_batch_id
        from    PJI_HELPER_BATCH_MAP
        where   WORKER_ID = p_worker_id and
                STATUS = 'P' and
                ROWNUM = 1;
Line: 3660

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

        UPDATE pa_draft_invoices_all dinv
        SET dinv.pji_summarized_flag = NULL
        WHERE dinv.rowid in (SELECT /*+ cardinality(ar, 1) */
                                    ar.row_id
                             FROM   PJI_FM_EXTR_ARINV ar
                             WHERE  1 = 2 -- We will always extract
                                          -- the AR snapshots for now.
                               AND  ar.pji_summarized_flag = 'O'
                               AND  ar.batch_id = l_helper_batch_id);
Line: 3684

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

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

            update PJI_SYSTEM_PRC_STATUS
            set    STEP_STATUS = 'C'
            where  PROCESS_NAME like PJI_FM_SUM_MAIN.g_process || x and
                   STEP_NAME =
                     'PJI_FM_EXTR.MARK_FULLY_PAID_INVOICES(p_worker_id);' and