DBA Data[Home] [Help]

APPS.PJI_PJ_PROJ_CLASS_EXTR SQL Statements

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

Line: 8

  l_last_update_date           DATE         := SYSDATE;
Line: 9

  l_last_updated_by            NUMBER       := Fnd_Global.USER_ID;
Line: 10

  l_creation_date              DATE         := l_last_update_date;
Line: 11

  l_created_by                 NUMBER       := l_last_updated_by;
Line: 12

  l_last_update_login          NUMBER       := Fnd_Global.LOGIN_ID;
Line: 44

  select USERENV('LANG') into l_current_run_lang from dual ;
Line: 47

      delete from pji_class_categories;
Line: 71

  insert into PJI_CLASS_CATEGORIES
  (
    CLASS_CATEGORY,
    NAME,
    RECORD_TYPE,
    LAST_UPDATE_DATE,
    LAST_UPDATED_BY,
    CREATION_DATE,
    CREATED_BY,
    LAST_UPDATE_LOGIN
  )
  select
    new.CLASS_CATEGORY,
    new.NAME,
    new.RECORD_TYPE,
    l_last_update_date,
    l_last_updated_by,
    l_creation_date,
    l_created_by,
    l_last_update_login
  from
    (
    select
      CLASS_CATEGORY                                     CLASS_CATEGORY,
      CLASS_CATEGORY                                     NAME,
      'C'                                                RECORD_TYPE
    from
      PA_CLASS_CATEGORIES
    where
      INCLUDE_IN_PJI_FLAG = 'Y'
    union all
    select
      LOOKUP_CODE                                        CLASS_CATEGORY,
      MEANING                                            NAME,
      decode(LOOKUP_CODE, '$PROJECT_TYPE$ALL', 'A', 'T') RECORD_TYPE
    from
      PJI_LOOKUPS
    where
      LOOKUP_TYPE = 'PJI_PROJ_TYPE_CATEGORIES'
    ) new,
    PJI_CLASS_CATEGORIES old
  where
    new.CLASS_CATEGORY = old.CLASS_CATEGORY (+) and
    old.CLASS_CATEGORY is null;
Line: 116

  Pji_Utils.write2log('Inserted ' || SQL%ROWCOUNT || ' record(s) ' ||
                           'into PJI_CLASS_CATEGORIES',TRUE,2);
Line: 121

  INSERT INTO pji_class_codes
  (
    class_id
  , class_code
  , class_category
  , record_type
  , last_update_date
  , last_updated_by
  , creation_date
  , created_by
  , last_update_login
  )
  SELECT
    pji_class_codes_s.NEXTVAL
  , class_code
  , class_category
  , record_type
  , l_last_update_date
  , l_last_updated_by
  , l_creation_date
  , l_created_by
  , l_last_update_login
  FROM
  (
        (
        SELECT
                class_code           class_code
                , class_category     class_category
                , 'C'                record_type
        FROM
                pa_class_codes
        WHERE
                class_category IN
                (
                  SELECT class_category
                  FROM   pji_class_categories
                  WHERE  record_type = 'C'
                )
        UNION ALL
        SELECT
                project_type         class_code
                , DECODE(project_type_class_code
                         , 'CAPITAL',  '$PROJECT_TYPE$CAPITAL'
                         , 'CONTRACT', '$PROJECT_TYPE$CONTRACT'
                         , 'INDIRECT', '$PROJECT_TYPE$INDIRECT'
                        )            class_category
                , 'T'                record_type
        FROM
                pa_project_types_all    pt
        WHERE   project_type_class_code IS NOT NULL
        )
        MINUS
        SELECT
                class_code           class_code
                , class_category     class_category
                , record_type        record_type
        FROM
                pji_class_codes
  )
;
Line: 182

  Pji_Utils.write2log('Inserted ' || SQL%ROWCOUNT || ' record(s) ' ||
                           'into PJI_CLASS_CODES',TRUE,2);
Line: 251

  ** data which needed to be deleted once the extract
  ** is done.
  */

  if (l_extraction_type <> 'FULL') then

  INSERT INTO pji_pj_extr_prjcls
  (
    ROW_ID,
    WORKER_ID,
    PROJECT_ID,
    CLASS_CODE,
    CLASS_CATEGORY,
    CODE_PERCENTAGE,
    EVENT_ID,
    RECORD_TYPE,
    PROJECT_CLASS_ID,
    EXTRACTION_TYPE,
    LOG_OPERATION_TYPE
  )
  SELECT
  evt.ROWID                              row_id
  , g_worker_id                          worker_id
  , TO_NUMBER(evt.event_object)          project_id
  , evt.attribute1                       class_code
  , evt.attribute2                       class_category
  , TO_NUMBER(NVL(evt.attribute3,'100')) code_percentage
  , evt.event_id                         event_id
  , 'E'                                  record_type
  , NULL                                 class_id
  , bat.extraction_type                  extraction_type
  , evt.operation_type                   log_operation_type
  FROM
  pji_pji_proj_batch_map bat
  , pa_pji_proj_events_log evt
  WHERE 1=1
  AND evt.event_type = 'Classifications'
  AND evt.event_object = to_char(bat.project_id) /* Added for bug 7517578 */
  AND bat.worker_id = p_worker_id;
Line: 295

  INSERT INTO pji_pj_extr_prjcls
  (
    ROW_ID
  , WORKER_ID
  , PROJECT_ID
  , CLASS_CODE
  , CLASS_CATEGORY
  , CODE_PERCENTAGE
  , EVENT_ID
  , RECORD_TYPE
  , PROJECT_CLASS_ID
  , EXTRACTION_TYPE
  , LOG_OPERATION_TYPE
  )
  /*
  ** Extract all the latest mapping information from
  ** pa_project_classes for full and partial refresh mode.
  */
  SELECT /*+ full(log)  use_hash(prj)
             full(cls)  use_hash(bat)
             full(bat)  use_hash(cls)
         */ -- bug 3092751: changes in hints
  NULL                              row_id
  , g_worker_id                     worker_id
  , prj.project_id                  project_id
  , prj.class_code                  class_code
  , prj.class_category              class_category
  , NVL(prj.code_percentage,100)    code_percentage
  , NULL                            event_id
  , 'C'                             record_type
  , cls.class_id                    class_id
  , bat.extraction_type             extraction_type
  , NULL                            log_operation_type
  FROM
  pa_project_classes       prj
  , pji_pji_proj_batch_map bat
  , pji_class_codes        cls
  WHERE 1=1
  AND bat.extraction_type <> 'I'
  AND bat.project_id = prj.project_id
  AND bat.worker_id = p_worker_id
  AND cls.class_category (+) = prj.class_category
  AND cls.class_code(+) = prj.class_code
  UNION ALL
  /*
  ** Extract the latest mapping information from
  ** pa_project_classes for new changes in an
  ** incremental run.
  */
  SELECT
  NULL                              row_id
  , g_worker_id                     worker_id
  , prj.project_id                  project_id
  , prj.class_code                  class_code
  , prj.class_category              class_category
  , NVL(prj.code_percentage,100)    code_percentage
  , NULL                            event_id
  , 'C'                             record_type
  , cls.class_id                    class_id
  , bat.extraction_type             extraction_type
  , NULL                            log_operation_type
  FROM
   pji_pji_proj_batch_map bat
  , pa_project_classes    prj
  , pji_class_codes       cls
  WHERE 1=1
  AND l_extraction_type = 'INCREMENTAL'
  AND bat.extraction_type = 'I'
  AND bat.project_id = prj.project_id
  AND bat.worker_id = p_worker_id
  AND cls.class_category (+) = prj.class_category
  AND cls.class_code(+) = prj.class_code
  AND exists
  (  select 1
     FROM pji_pj_extr_prjcls ext
     WHERE ext.record_type = 'E'
  AND ext.project_id = bat.project_id
  AND ext.class_category = prj.class_category
  AND ext.class_code = prj.class_code)
  UNION ALL
  /*
  ** Generate the reversals entries for the changed
  ** records.
  */
  SELECT
  NULL                              row_id
  , g_worker_id                     worker_id
  , cls.project_id                  project_id
  , cls.class_code                  class_code
  , cls.class_category              class_category
  , -NVL(cls.code_percentage,100)   code_percentage
  , NULL                            event_id
  , 'C'                             record_type
  , cls.project_class_id            class_id
  , bat.extraction_type             extraction_type
  , NULL                            log_operation_type
  FROM
  pji_project_classes cls
  , pji_pji_proj_batch_map bat
  WHERE 1=1
  AND l_extraction_type <> 'FULL'
  AND bat.project_id = cls.project_id
  AND bat.worker_id = p_worker_id
  AND Exists
  (  SELECT 1
     FROM pji_pj_extr_prjcls ext
     WHERE ext.record_type = 'E'
  AND ext.project_id = bat.project_id
  AND ext.class_category = cls.class_category
  AND ext.class_code = cls.class_code )
  UNION ALL
  SELECT /*+ full(pt)   use_hash(pt)
             full(prj)  use_hash(prj)
             full(bat)  use_hash(bat)
             full(cls)  use_hash(cls)
         */ -- bug 3092751: changes in hints
    -- Extract data for project types
    NULL                           row_id
  , g_worker_id                    worker_id
  , prj.project_id                 project_id
  , prj.project_type               class_code
  , DECODE(
             pt.project_type_class_code,
             'CAPITAL',  '$PROJECT_TYPE$CAPITAL',
             'CONTRACT', '$PROJECT_TYPE$CONTRACT',
             'INDIRECT', '$PROJECT_TYPE$INDIRECT'
          )                        class_category
  , 100                            code_percentage
  , NULL                           event_id
  , 'T'                            record_type
  , cls.class_id                   project_class_id
  , bat.extraction_type            extraction_type
  , NULL                           log_operation_type
  FROM
    pa_project_types_all           pt,
    pa_projects_all                prj,
    pji_pji_proj_batch_map         bat,
    pji_class_codes                cls
  WHERE
        prj.project_id = bat.project_id
    AND pt.project_type_class_code IS NOT NULL -- bug 3082170
    AND prj.project_type = pt.project_type
    AND NVL(prj.org_id,-99) = NVL(pt.org_id, -99)
    AND bat.worker_id = p_worker_id
    AND bat.extraction_type <> 'I'
    AND cls.class_code (+) = pt.project_type
    AND cls.class_category (+) =
          DECODE(
             pt.project_type_class_code,
             'CAPITAL',  '$PROJECT_TYPE$CAPITAL',
             'CONTRACT', '$PROJECT_TYPE$CONTRACT',
             'INDIRECT', '$PROJECT_TYPE$INDIRECT'
          )
  UNION ALL
  SELECT /*+ full(cls)   use_hash(cls)
               full(bat)   use_hash(bat)
               full(ext)   use_hash(ext)
           */ -- bug 3092751: changes in hints
      -- Put reversals for partial refresh
  NULL                             row_id
  , g_worker_id                    worker_id
  , cls.project_id                 project_id
  , cls.class_code                 class_code
  , cls.class_category             class_category
  , -code_percentage               code_percentage
  , NULL                           event_id
  , cls.record_type                record_type
  , cls.project_class_id           project_class_id
  , bat.extraction_type            extraction_type
  , NULL                           log_operation_type
  FROM
    pji_project_classes       cls
  , pji_pji_proj_batch_map    bat
  WHERE
      l_extraction_type = 'PARTIAL'
  AND cls.project_id = bat.project_id
  AND bat.worker_id = p_worker_id
  AND  not exists
  (
     SELECT 1
     FROM pji_pj_extr_prjcls ext WHERE ext.record_type = 'E'
  AND ext.project_id  = bat.project_id
  AND ext.class_category  = cls.class_category
  AND ext.class_code  = cls.class_code
   )
  AND bat.extraction_type = 'P';
Line: 482

  Pji_Utils.write2log('Inserted ' || SQL%ROWCOUNT || ' record(s) into PJI_PJ_EXTR_PRJCLS',TRUE,2);
Line: 486

  DELETE pji_pj_extr_prjcls
  WHERE  worker_id = g_worker_id
  AND  record_type = 'E';
Line: 490

  Pji_Utils.write2log('Deleted ' || SQL%ROWCOUNT || ' temporary record(s) from PJI_PJ_EXTR_PRJCLS',TRUE,2);
Line: 495

  DELETE FROM PJI_PJ_EXTR_PRJCLS
  WHERE worker_id = g_worker_id
    AND class_category IN (
          SELECT class_category
          FROM pa_class_categories
          WHERE NVL(include_in_pji_flag,'N') = 'N'
    );
Line: 503

  Pji_Utils.write2log('Deleted ' || SQL%ROWCOUNT ||
     ' dangling record(s) from PJI_PJ_EXTR_PRJCLS - first delete',TRUE,2);
Line: 506

  DELETE pji_pj_extr_prjcls extr
  WHERE  worker_id = g_worker_id
	AND  record_type = 'C'
    AND  NOT EXISTS (
           SELECT 1 FROM pa_class_codes cls
           WHERE extr.class_code = cls.class_code
             AND extr.class_category = cls.class_category
          );
Line: 515

  Pji_Utils.write2log('Deleted ' || SQL%ROWCOUNT ||
     ' dangling record(s) from PJI_PJ_EXTR_PRJCLS - second delete',TRUE,2);
Line: 519

  DELETE pji_pj_extr_prjcls extr
  WHERE  worker_id = g_worker_id
    AND  record_type = 'C'
    AND  NOT EXISTS (
           SELECT 1 FROM pa_class_categories cat
           WHERE extr.class_category = cat.class_category
          );
Line: 527

  Pji_Utils.write2log('Deleted ' || SQL%ROWCOUNT ||
     ' dangling record(s) from PJI_PJ_EXTR_PRJCLS - third delete',TRUE,2);
Line: 534

  SELECT COUNT(*)
  INTO l_dangling_rowcount
  FROM PJI_PJ_EXTR_PRJCLS
  WHERE project_class_id IS NULL
    AND worker_id = g_worker_id;
Line: 556

    UPDATE PJI_PJ_EXTR_PRJCLS   extr
    SET project_class_id = (
          SELECT cls.class_id
          FROM pji_class_codes   cls
          WHERE cls.class_code = extr.class_code
            AND cls.class_category = extr.class_category
        )
    WHERE project_class_id IS NULL
      AND worker_id = g_worker_id;
Line: 566

    Pji_Utils.write2log('Updated ' || SQL%ROWCOUNT || ' dangling record(s)',TRUE,2);
Line: 570

    SELECT COUNT(*)
    INTO l_dangling_rowcount
    FROM PJI_PJ_EXTR_PRJCLS
    WHERE project_class_id IS NULL
      AND worker_id = g_worker_id;
Line: 595

  delete pa_pji_proj_events_log
  where  event_type = 'Classifications' and
         event_object in (select to_char(project_id) /* to_char added for bug 7517578 */
                                     from   pji_pji_proj_batch_map
                                     where  worker_id = p_worker_id);
Line: 601

  Pji_Utils.write2log('Deleted ' || SQL%ROWCOUNT || ' record(s) from PA_PJI_PROJ_EVENTS_LOG',TRUE,2);
Line: 607

    SELECT
      project_id
    , project_class_id
    , class_code
    , class_category
    , record_type
    , code_percentage
    FROM
      (
      SELECT
        project_id
      , project_class_id
      , class_code
      , class_category
      , record_type
      , SUM(code_percentage)  code_percentage
      FROM
        PJI_PJ_EXTR_PRJCLS
      WHERE
        worker_id = g_worker_id
      GROUP BY
        project_id
      , project_class_id
      , class_code
      , class_category
      , record_type
      )
    WHERE
      code_percentage <> 0
  ) nc
  ON (
        cls.project_id = nc.project_id
    AND cls.project_class_id = nc.project_class_id
  )
  WHEN matched THEN
    UPDATE SET cls.code_percentage = cls.code_percentage + nc.code_percentage
  WHEN NOT matched THEN
    INSERT (
      cls.project_id
    , cls.project_class_id
    , cls.code_percentage
    , cls.class_category
    , cls.class_code
    , cls.record_type
    )
    VALUES
    (
      nc.project_id
    , nc.project_class_id
    , nc.code_percentage
    , nc.class_category
    , nc.class_code
    , nc.record_type
    );