DBA Data[Home] [Help]

APPS.CSTPSCEX SQL Statements

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

Line: 10

procedure insert_assembly_items (
  i_rollup_id         in  number,
  i_user_id           in  number,
  i_login_id          in  number,
  i_request_id        in  number,
  i_prog_id           in  number,
  i_prog_appl_id      in  number,
  o_error_code        out NOCOPY number,
  o_error_msg         out NOCOPY varchar2
)
is
  l_stmt_num NUMBER(15);
Line: 26

  ** Delete process org/item combinations, if any
  */
  l_stmt_num := 5;
Line: 30

  delete cst_sc_lists csl
   where exists (select 'process org'
                   from mtl_parameters mp
                  where mp.organization_id = csl.organization_id
                    and NVL(mp.process_enabled_flag, 'N') = 'Y')
  ;
Line: 40

  insert into cst_sc_bom_explosion
  (
    ROLLUP_ID,
    ASSEMBLY_ITEM_ID,
    ASSEMBLY_ORGANIZATION_ID,
    COMPONENT_SEQUENCE_ID,
    COMPONENT_ITEM_ID,
    COMPONENT_ORGANIZATION_ID,
    COMPONENT_QUANTITY,
    DELETED_FLAG,
    EXPLODED_FLAG,
    PLAN_LEVEL,
    LAST_UPDATE_DATE,
    LAST_UPDATED_BY,
    LAST_UPDATE_LOGIN,
    CREATION_DATE,
    CREATED_BY,
    REQUEST_ID,
    PROGRAM_APPLICATION_ID,
    PROGRAM_ID,
    PROGRAM_UPDATE_DATE
  )
  select
    i_rollup_id,                 -- ROLLUP_ID
    -1,                          -- ASSEMBLY_ITEM_ID
    -1,                          -- ASSEMBLY_ORGANIZATION_ID
    null,                        -- COMPONENT_SEQUENCE_ID
    CSL.inventory_item_id,       -- COMPONENT_ITEM_ID
    CSL.organization_id,         -- COMPONENT_ORGANIZATION_ID
    1,                           -- COMPONENT_QUANTITY
    'N',                         -- DELETED_FLAG
    'N',                         -- EXPLODED_FLAG
    1,                           -- PLAN_LEVEL
    sysdate,                     -- LAST_UPDATE_DATE
    i_user_id,                   -- LAST_UPDATED_BY
    i_login_id,                  -- LAST_UPDATE_LOGIN
    sysdate,                     -- CREATION_DATE
    i_user_id,                   -- CREATED_BY
    i_request_id,                -- REQUEST_ID
    i_prog_appl_id,              -- PROGRAM_APPLICATION_ID
    i_prog_id,                   -- PROGRAM_ID
    sysdate                      -- PROGRAM_UPDATE_DATE
  from
    cst_sc_lists CSL
  where
    CSL.rollup_id = i_rollup_id;
Line: 91

    o_error_msg  := 'CSTPSCEX.insert_assembly_items():' ||
                    to_char(l_stmt_num) || ':' ||
                    substrb(SQLERRM, 1, 1000);
Line: 95

end insert_assembly_items;
Line: 135

  select min(MSV.rank)
  into   l_min_rank
  from   mrp_sources_v MSV
  where
    MSV.assignment_set_id  = i_assignment_set_id and
    MSV.inventory_item_id  = i_inventory_item_id and
    MSV.organization_id    = i_organization_id   and
    MSV.allocation_percent is not null           and
    MSV.source_type        is not null           and
    MSV.effective_date <= i_effective_date and
    nvl( MSV.disable_date, i_effective_date + 1 ) > i_effective_date;
Line: 165

  insert into CST_SC_SOURCING_RULES
  (
    ROLLUP_ID,
    ASSIGNMENT_SET_ID,
    INVENTORY_ITEM_ID,
    ORGANIZATION_ID,
    SOURCE_ORGANIZATION_ID,
    VENDOR_ID,
    VENDOR_SITE_ID,
    SOURCE_TYPE,
    SHIP_METHOD,
    ALLOCATION_PERCENT,
    MARKUP_CODE,
    MARKUP,
    ITEM_COST,
    LAST_UPDATE_DATE,
    LAST_UPDATED_BY,
    LAST_UPDATE_LOGIN,
    CREATION_DATE,
    CREATED_BY,
    REQUEST_ID,
    PROGRAM_APPLICATION_ID,
    PROGRAM_ID,
    PROGRAM_UPDATE_DATE,
    SOURCING_RULE_NAME
  )
  select
    i_rollup_id,                         -- ROLLUP_ID
    MSV.assignment_set_id,               -- ASSIGNMENT_SET_ID
    MSV.inventory_item_id,               -- INVENTORY_ITEM_ID
    MSV.organization_id,                 -- ORGANIZATION_ID
    MSV.source_organization_id,          -- SOURCE_ORGANIZATION_ID
    MSV.vendor_id,                       -- VENDOR_ID
    MSV.vendor_site_id,                  -- VENDOR_SITE_ID
    MSV.source_type,                     -- SOURCE_TYPE
    MSV.ship_method,                     -- SHIP_METHOD
    MSV.allocation_percent,              -- ALLOCATION_PERCENT
    null,                                -- MARKUP_CODE
    null,                                -- MARKUP
    null,                                -- ITEM_COST
    sysdate,                             -- LAST_UPDATE_DATE
    i_user_id,                           -- LAST_UPDATED_BY
    i_login_id,                          -- LAST_UPDATE_LOGIN
    sysdate,                             -- CREATION_DATE
    i_user_id,                           -- CREATED_BY
    i_request_id,                        -- REQUEST_ID
    i_prog_appl_id,                      -- PROGRAM_APPLICATION_ID
    i_prog_id,                           -- PROGRAM_ID
    sysdate,                             -- PROGRAM_UPDATE_DATE
    msv.sourcing_rule_name
  from
    mrp_sources_v MSV
  where
    MSV.assignment_set_id  = i_assignment_set_id and
    MSV.inventory_item_id  = i_inventory_item_id and
    MSV.organization_id    = i_organization_id   and
    MSV.rank               = l_min_rank          and  -- SCAPI: use minimum rank
    MSV.allocation_percent is not null           and
    MSV.source_type        is not null           and
    MSV.effective_date <= i_effective_date and
    nvl( MSV.disable_date, i_effective_date + 1 ) > i_effective_date
    and exists (select 1
                from mtl_system_items msi
                where msi.inventory_item_id = i_inventory_item_id
                and   msi.organization_id   = nvl(MSV.source_organization_id,msi.organization_id));
Line: 239

    select cssr.sourcing_rule_name, mp.organization_code
      into l_sourcing_rule_name, l_organization_code
      from cst_sc_sourcing_rules cssr, mtl_parameters mp
     where rollup_id              = i_rollup_id
       and cssr.inventory_item_id = i_inventory_item_id
       and cssr.organization_id   = i_organization_id
       and cssr.assignment_set_id = i_assignment_set_id
       and mp.organization_id     = cssr.source_organization_id
       and NVL(mp.process_enabled_flag, 'N') = 'Y'
    ;
Line: 286

select distinct
      CSSR.source_organization_id,
      SOB_FROM.currency_code from_currency,
      CSSR.organization_id,
      SOB_TO.currency_code to_currency
from
      cst_sc_sourcing_rules        CSSR,
      hr_organization_information  OOD_FROM,
      gl_sets_of_books             SOB_FROM,
      hr_organization_information  OOD_TO,
      gl_sets_of_books             SOB_TO
where
      CSSR.rollup_id              = i_rollup_id and
      CSSR.source_organization_id is not null   and
      CSSR.organization_id        is not null   and
      OOD_FROM.organization_id = CSSR.source_organization_id AND
      OOD_FROM.org_information_context = 'Accounting Information' AND
      SOB_FROM.set_of_books_id = OOD_FROM.org_information1    and
      OOD_TO.organization_id   = CSSR.organization_id        AND
      OOD_TO.org_information_context = 'Accounting Information' AND
      SOB_TO.set_of_books_id   = OOD_TO.org_information1;
Line: 317

      update cst_sc_sourcing_rules CSSR
      set
        CSSR.conversion_type = i_conversion_type,
        CSSR.conversion_rate =
          gl_currency_api.get_rate
          (
            rate.from_currency,
            rate.to_currency,
            sysdate,
            i_conversion_type
          )
      where
        CSSR.rollup_id              = i_rollup_id                      and
        CSSR.organization_id        = rate.organization_id        and
        CSSR.source_organization_id = rate.source_organization_id;
Line: 379

  select /*+ INDEX (CSBE CST_SC_BOM_EXPLOSION_N1)*/
    CSBE.component_item_id,
    CSBE.component_organization_id,
    min( CSBE.plan_level ) prior_plan_level
  from
    cst_sc_bom_explosion CSBE
  where
    CSBE.rollup_id     = i_rollup_id  and
    CSBE.exploded_flag = 'N'          and
    CSBE.plan_level    <= decode( i_explosion_levels, null, CSBE.plan_level+1,
                                  i_explosion_levels ) and
    not exists
    (
      select /*+ INDEX (CSBE2 CST_SC_BOM_EXPLOSION_N1)*/ 'x'
      from   cst_sc_bom_explosion CSBE2
      where
        CSBE2.rollup_id                 =  CSBE.rollup_id                 and
        CSBE2.component_item_id         =  CSBE.component_item_id         and
        CSBE2.component_organization_id =  CSBE.component_organization_id and
        CSBE2.exploded_flag             <> 'N'
    )
  group by
    CSBE.component_item_id,
    CSBE.component_organization_id;
Line: 424

      select decode(nvl(msi.inventory_item_status_code,'NOT'||bp.bom_delete_status_code),
                   nvl(bp.bom_delete_status_code,' '),2,1)
      into l_active_flag
      from mtl_system_items msi,
           bom_parameters bp
      where msi.inventory_item_id = CSBE.component_item_id
      and   msi.organization_id   = CSBE.component_organization_id
      and   bp.organization_id (+) = msi.organization_id;
Line: 467

      insert into cst_sc_bom_explosion
      (
        ROLLUP_ID,
        ASSEMBLY_ITEM_ID,
        ASSEMBLY_ORGANIZATION_ID,
        OPERATION_SEQ_NUM,
        COMPONENT_SEQUENCE_ID,
        COMPONENT_ITEM_ID,
        COMPONENT_ORGANIZATION_ID,
        COMPONENT_QUANTITY,
        DELETED_FLAG,
        EXPLODED_FLAG,
        PLAN_LEVEL,
        LAST_UPDATE_DATE,
        LAST_UPDATED_BY,
        LAST_UPDATE_LOGIN,
        CREATION_DATE,
        CREATED_BY,
        REQUEST_ID,
        PROGRAM_APPLICATION_ID,
        PROGRAM_ID,
        PROGRAM_UPDATE_DATE
      )
      select
        i_rollup_id,                 -- ROLLUP_ID
        CSSR.inventory_item_id,      -- ASSEMBLY_ITEM_ID
        CSSR.organization_id,        -- ASSEMBLY_ORGANIZATION_ID
        to_number( null ),           -- OPERATION_SEQ_NUM
        to_number( null ),           -- COMPONENT_SEQUENCE_ID
        CSSR.inventory_item_id,      -- COMPONENT_ITEM_ID
        CSSR.source_organization_id, -- COMPONENT_ORGANIZATION_ID
        CSSR.allocation_percent / 100, -- COMPONENT_QUANTITY
        'N',                         -- DELETED_FLAG
        'N',                         -- EXPLODED_FLAG
        CSBE.prior_plan_level + 1,   -- PLAN_LEVEL
        sysdate,                     -- LAST_UPDATE_DATE
        i_user_id,                   -- LAST_UPDATED_BY
        i_login_id,                  -- LAST_UPDATE_LOGIN
        sysdate,                     -- CREATION_DATE
        i_user_id,                   -- CREATED_BY
        i_request_id,                -- REQUEST_ID
        i_prog_appl_id,              -- PROGRAM_APPLICATION_ID
        i_prog_id,                   -- PROGRAM_ID
        sysdate                      -- PROGRAM_UPDATE_DATE
      from
        cst_sc_sourcing_rules CSSR, mtl_system_items msi /* Bug 6124274 */
      where
        CSSR.rollup_id         = i_rollup_id                    and
        msi.inventory_item_id  = cssr.inventory_item_id         and
        msi.organization_id    = cssr.organization_id           and
        CSSR.inventory_item_id = CSBE.component_item_id         and
        CSSR.organization_id   = CSBE.component_organization_id and
        CSSR.source_type       = 1   -- Transfer items only


      -- all we need is a UNION ALL, but I'm using UNION to
      -- force an implicit sort so that the resulting connect by
      -- select will (usually) be sorted by op_seq_num
      union

      select
        i_rollup_id,                 -- ROLLUP_ID
        BOM.assembly_item_id,        -- ASSEMBLY_ITEM_ID
        BOM.organization_id,         -- ASSEMBLY_ORGANIZATION_ID
        BIC.operation_seq_num,       -- OPERATION_SEQ_NUM
        BIC.component_sequence_id,   -- COMPONENT_SEQUENCE_ID
        BIC.component_item_id,       -- COMPONENT_ITEM_ID
        BOM.organization_id,         -- COMPONENT_ORGANIZATION_ID
        BIC.component_quantity,      -- COMPONENT_QUANTITY
        'N',                         -- DELETED_FLAG
        'N',                         -- EXPLODED_FLAG
        CSBE.prior_plan_level + 1,   -- PLAN_LEVEL
        sysdate,                     -- LAST_UPDATE_DATE
        i_user_id,                   -- LAST_UPDATED_BY
        i_login_id,                  -- LAST_UPDATE_LOGIN
        sysdate,                     -- CREATION_DATE
        i_user_id,                   -- CREATED_BY
        i_request_id,                -- REQUEST_ID
        i_prog_appl_id,              -- PROGRAM_APPLICATION_ID
        i_prog_id,                   -- PROGRAM_ID
        sysdate                      -- PROGRAM_UPDATE_DATE
      from
        bom_bill_of_materials BOM,
        bom_inventory_components BIC
      where
        BOM.common_bill_sequence_id = BIC.bill_sequence_id           and
        BOM.assembly_item_id        = CSBE.component_item_id         and
        BOM.organization_id         = CSBE.component_organization_id and
        ----------------------------
        --- effectivity checking
        ----------------------------
        BIC.effectivity_date <= i_effective_date and
        nvl( BIC.disable_date, i_effective_date + 1 ) > i_effective_date and
        ----------------------------
        --- alternate bom designator
        ----------------------------
        BOM.assembly_type =
          decode( i_inc_eng_bill, 1, BOM.assembly_type, 1 ) AND
        (
          (
            i_alt_bom_desg IS NULL AND
            BOM.ALTERNATE_BOM_DESIGNATOR IS NULL
          )
          OR
          (
            i_alt_bom_desg IS NOT NULL AND
            BOM.ALTERNATE_BOM_DESIGNATOR = i_alt_bom_desg
          )
          OR
          ( i_alt_bom_desg IS NOT NULL AND
            BOM.ALTERNATE_BOM_DESIGNATOR IS NULL AND
            NOT EXISTS
            (
              SELECT 'X'
              FROM   BOM_BILL_OF_MATERIALS BOM2
              WHERE  BOM2.ORGANIZATION_ID          = BOM.ORGANIZATION_ID  AND
                     BOM2.ASSEMBLY_ITEM_ID         = BOM.ASSEMBLY_ITEM_ID AND
                     BOM2.ALTERNATE_BOM_DESIGNATOR = i_alt_bom_desg       AND
                     BOM2.assembly_type =
                       decode( i_inc_eng_bill, 1, BOM2.assembly_type, 1 )
            )
          )
        ) AND
        ( BOM.ALTERNATE_BOM_DESIGNATOR IS NULL
          OR
          BOM.ALTERNATE_BOM_DESIGNATOR = i_alt_bom_desg
        ) AND
        ----------------------------
        --- implementation option
        ----------------------------
        (
          (
            i_inc_unimpl_ecn = 2 AND
            BIC.IMPLEMENTATION_DATE IS NOT NULL
          )
          OR
          (
            i_inc_unimpl_ecn = 1 AND
            BIC.EFFECTIVITY_DATE =
            (
              SELECT MAX(EFFECTIVITY_DATE)
              FROM   BOM_INVENTORY_COMPONENTS BIC2
              WHERE
                BIC2.BILL_SEQUENCE_ID  = BIC.BILL_SEQUENCE_ID  AND
                BIC2.COMPONENT_ITEM_ID = BIC.COMPONENT_ITEM_ID AND
                (
                  decode( BIC2.IMPLEMENTATION_DATE,
                          NULL, BIC2.OLD_COMPONENT_SEQUENCE_ID,
                                BIC2.COMPONENT_SEQUENCE_ID ) =
                  decode( BIC.IMPLEMENTATION_DATE,
                          NULL, BIC.OLD_COMPONENT_SEQUENCE_ID,
                                BIC.COMPONENT_SEQUENCE_ID )
                  OR
                  BIC2.OPERATION_SEQ_NUM = BIC.OPERATION_SEQ_NUM
                )
                AND
                BIC2.EFFECTIVITY_DATE <= i_effective_date
                AND
                NVL( BIC2.eco_for_production, 2 ) = 2
            ) -- end of subquery
          )
        ) AND
        ----------------------------------------------------
        -- This should take care of excluding model and oc
        ----------------------------------------------------
        BIC.INCLUDE_IN_COST_ROLLUP = 1 and
        ----------------------------------------------------
        -- This is for ECO changes in 11i.4
        ----------------------------------------------------
        NVL( BIC.eco_for_production, 2 ) = 2 and

        /* Fix for BUG 1604207 */
        NVL( bic.acd_type, 1 ) <> 3 and

        ----------------------------------------------------
        -- only insert BOM if there is a Make rule
        ----------------------------------------------------
        0 < (
           select nvl( sum( decode( CSSR.source_type, 2,
                                    CSSR.allocation_percent, 0 ) ), 100 )
           from   cst_sc_sourcing_rules CSSR
           where
             CSSR.rollup_id         = i_rollup_id                    and
             CSSR.inventory_item_id = CSBE.component_item_id         and
             CSSR.organization_id   = CSBE.component_organization_id
        );
Line: 658

      update cst_sc_bom_explosion
      set    exploded_flag = 'Y'
      where  rollup_id = i_rollup_id and
             component_item_id         = CSBE.component_item_id and
             component_organization_id = CSBE.component_organization_id;
Line: 674

  update cst_sc_bom_explosion CSBE
  set    CSBE.component_quantity
  =      (
           select CSBE.component_quantity *
                  nvl( sum( decode( CSSR.source_type, 2,
                                    CSSR.allocation_percent, 0 ) ) / 100, 1 )
           from   cst_sc_sourcing_rules CSSR
           where  CSSR.rollup_id         = CSBE.rollup_id                and
                  CSSR.inventory_item_id = CSBE.assembly_item_id         and
                  CSSR.organization_id   = CSBE.assembly_organization_id
         )
  where  CSBE.rollup_id                = i_rollup_id and
         CSBE.assembly_organization_id = component_organization_id;
Line: 692

  update /*+ INDEX (CSBE CST_SC_BOM_EXPLOSION_N1)*/
  cst_sc_bom_explosion CSBE
  set    exploded_flag = 'Y'
  where
    rollup_id = i_rollup_id and
    exists (
      select /*+ INDEX (CSBE2 CST_SC_BOM_EXPLOSION_N1)*/ 'x'
      from   cst_sc_bom_explosion CSBE2
      where
        CSBE2.rollup_id                 = CSBE.rollup_id                 and
        CSBE2.component_item_id         = CSBE.component_item_id         and
        CSBE2.component_organization_id = CSBE.component_organization_id and
        CSBE2.exploded_flag = 'Y'
    );
Line: 730

  select
    CSBS.rowid,
    decode( CIC.inventory_asset_flag, 2, 2,
      decode( CIC.based_on_rollup_flag, 2, 2, 1 ) ) new_ext_cost_flag
  from
    cst_sc_bom_structures    CSBS,
    cst_item_costs           CIC
  where
    CSBS.rollup_id                = i_rollup_id                    and
    CSBS.assembly_item_id         = -1                             and
    CIC.inventory_item_id         = CSBS.component_item_id         and
    CIC.organization_id           = CSBS.component_organization_id and
    CIC.cost_type_id              = i_cost_type_id;
Line: 756

    select
    CSBS.top_inventory_item_id top_inventory_item_id,
    CSBS.top_organization_id top_organization_id,
    CSBS.sort_order sort_order,
    CSBS.rowid,
    CSBS.bom_level,
    BIC.basis_type,
    /* LBM Project 3926918: Changes made to support Lot Based Materials. Added decode to check for basis type
       of the component. If lot based then component qty becomes compt_qty/lot_size else it is unchanged. */
    DECODE(BIC.basis_type, 2, CSBS.component_quantity/nvl(CIC.lot_size, 1), CSBS.component_quantity) component_quantity,
                              -- Bug 5139919; nvl is added to CIC.lot_size
Line: 774

    decode(nvl(msi.inventory_item_status_code,'NOT'||bp.bom_delete_status_code),nvl(bp.bom_delete_status_code,' '),2,1) active_flag
  from
    cst_sc_bom_structures    CSBS,
    cst_item_costs           CIC,
    mtl_system_items         MSI,
    bom_inventory_components BIC,
    bom_parameters           bp   /* Bug 4547027 */
  where
    CSBS.rollup_id                = i_rollup_id                    and
    CSBS.assembly_item_id  = -1 and
    CIC.inventory_item_id (+)     = CSBS.top_inventory_item_id and
    CIC.organization_id (+)       = CSBS.top_organization_id and
    CIC.cost_type_id (+)          = i_cost_type_id                 and
    MSI.inventory_item_id         = CSBS.component_item_id         and
    MSI.organization_id           = CSBS.component_organization_id and
    bp.organization_id (+)        = CSBS.component_organization_id and  /* Bug 4547027 */
    BIC.component_sequence_id (+) = CSBS.component_sequence_id
  UNION ALL
    select
    CSBS.top_inventory_item_id top_inventory_item_id,
    CSBS.top_organization_id top_organization_id,
    CSBS.sort_order sort_order,
    CSBS.rowid,
    CSBS.bom_level,
    BIC.basis_type,
    /* LBM Project 3926918: Changes made to support Lot Based Materials. Added decode to check for basis type
       of the component. If lot based then component qty becomes compt_qty/lot_size else it is unchanged. */
    DECODE(BIC.basis_type, 2, CSBS.component_quantity/nvl(CIC.lot_size, 1), CSBS.component_quantity) component_quantity,
                              -- Bug 5139919; nvl is added to CIC.lot_size
Line: 810

    decode(nvl(msi.inventory_item_status_code,'NOT'||bp.bom_delete_status_code),nvl(bp.bom_delete_status_code,' '),2,1) active_flag
  from
    cst_sc_bom_structures    CSBS,
    cst_item_costs           CIC,
    mtl_system_items         MSI,
    bom_inventory_components BIC,
    bom_parameters           bp   /* Bug 4547027 */
  where
    CSBS.rollup_id                = i_rollup_id                    and
    CSBS.assembly_item_id         <> -1                            and
    CIC.inventory_item_id (+)     = CSBS.assembly_item_id          and
    CIC.organization_id (+)       = CSBS.assembly_organization_id  and
    CIC.cost_type_id (+)          = i_cost_type_id                 and
    MSI.inventory_item_id         = CSBS.component_item_id         and
    MSI.organization_id           = CSBS.component_organization_id and
    bp.organization_id (+)        = CSBS.component_organization_id and  /* Bug 4547027 */
    BIC.component_sequence_id (+) = CSBS.component_sequence_id
    order by
    top_inventory_item_id,
    top_organization_id,
    sort_order;
Line: 854

  select component_yield_flag
  into l_comp_yield_flag
  from cst_cost_types
  where cost_type_id = i_cost_type_id;
Line: 866

    update cst_sc_bom_structures CSBS
    set    CSBS.extend_cost_flag
    =      assm.new_ext_cost_flag
    where  CSBS.rowid = assm.rowid;
Line: 897

      select ext_qty_stack(comp.bom_level)* (cic1.lot_size/cic2.lot_size)
      into ext_qty_stack( comp.bom_level )
      from cst_item_costs cic1,
           cst_item_costs cic2,
           cst_sc_bom_structures csbs
      where csbs.rowid = comp.rowid
        and CIC1.inventory_item_id (+)     = CSBS.assembly_item_id
        and CIC1.organization_id (+)       = CSBS.assembly_organization_id
        and CIC1.cost_type_id (+)          = i_cost_type_id
        and CIC2.inventory_item_id (+)     = CSBS.top_inventory_item_id
        and CIC2.organization_id (+)       = CSBS.top_organization_id
        and CIC2.cost_type_id (+)          = i_cost_type_id ;
Line: 940

    update    cst_sc_bom_structures CSBS
    set
      CSBS.component_quantity     = comp.component_quantity,
      CSBS.extended_quantity      = ext_qty_stack( comp.bom_level ),
      CSBS.include_in_cost_rollup = comp.include_in_cost_rollup,
      CSBS.extend_cost_flag       = ext_cost_flag_stack( comp.bom_level ),
      CSBS.phantom_flag           = comp.phantom_flag,
      CSBS.phantom_sub_assy_flag  = phtm_sub_assy_stack( comp.bom_level )
    where     CSBS.rowid = comp.rowid;
Line: 983

  select
    CSBE.component_item_id,
    CSBE.component_organization_id
  from
    cst_sc_bom_explosion CSBE
  where
    CSBE.rollup_id        = i_rollup_id and
    CSBE.assembly_item_id = -1 and
    CSBE.deleted_flag = 'Y'; -- Bug 3665428: make snapshot only for valid items without loop
Line: 1011

  delete cst_sc_bom_structures
  where  rollup_id in (i_rollup_id, -1*i_rollup_id);
Line: 1021

      insert into cst_sc_bom_structures
      (
        ROLLUP_ID,
        TOP_INVENTORY_ITEM_ID,
        TOP_ORGANIZATION_ID,
        SORT_ORDER,
        BOM_LEVEL,
        ASSEMBLY_ITEM_ID,
        ASSEMBLY_ORGANIZATION_ID,
        COMPONENT_SEQUENCE_ID,
        COMPONENT_ITEM_ID,
        COMPONENT_ORGANIZATION_ID,
        COMPONENT_QUANTITY,
        EXTENDED_QUANTITY,
        INCLUDE_IN_COST_ROLLUP,
        EXTEND_COST_FLAG,
        PHANTOM_FLAG,
        PHANTOM_SUB_ASSY_FLAG,
        LAST_UPDATE_DATE,
        LAST_UPDATED_BY,
        LAST_UPDATE_LOGIN,
        CREATION_DATE,
        CREATED_BY,
        REQUEST_ID,
        PROGRAM_APPLICATION_ID,
        PROGRAM_ID,
        PROGRAM_UPDATE_DATE
      )
      select
        i_rollup_id,                        -- ROLLUP_ID
        top_assm.component_item_id,         -- TOP_INVENTORY_ITEM_ID
        top_assm.component_organization_id, -- TOP_ORGANIZATION_ID
        rownum,                             -- SORT_ORDER
        level,                              -- BOM_LEVEL
        CSBE.assembly_item_id,              -- ASSEMBLY_ITEM_ID
        CSBE.assembly_organization_id,      -- ASSEMBLY_ORGANIZATION_ID
        CSBE.component_sequence_id,         -- COMPONENT_SEQUENCE_ID
        CSBE.component_item_id,             -- COMPONENT_ITEM_ID
        CSBE.component_organization_id,     -- COMPONENT_ORGANIZATION_ID
        CSBE.component_quantity,            -- COMPONENT_QUANTITY
        1,                                  -- EXTENDED_QUANTITY
        1,                                  -- INCLUDE_IN_COST_ROLLUP
        1,                                  -- EXTEND_COST_FLAG
        2,                                  -- PHANTOM_FLAG
        2,                                  -- PHANTOM_SUB_ASSY_FLAG
        sysdate,                     -- LAST_UPDATE_DATE
        i_user_id,                   -- LAST_UPDATED_BY
        i_login_id,                  -- LAST_UPDATE_LOGIN
        sysdate,                     -- CREATION_DATE
        i_user_id,                   -- CREATED_BY
        i_request_id,                -- REQUEST_ID
        i_prog_appl_id,              -- PROGRAM_APPLICATION_ID
        i_prog_id,                   -- PROGRAM_ID
        sysdate                      -- PROGRAM_UPDATE_DATE
      from
        cst_sc_bom_explosion CSBE
      start with
        rollup_id                 = i_rollup_id                        and
        assembly_item_id          = -1                                 and
        component_item_id         = top_assm.component_item_id         and
        component_organization_id = top_assm.component_organization_id
      connect by
        prior rollup_id                 =  rollup_id                and
        prior component_item_id         =  assembly_item_id         and
        prior component_organization_id =  assembly_organization_id and
        level                           <= i_report_levels;
Line: 1095

      insert into cst_sc_bom_structures
      (
        ROLLUP_ID,
        TOP_INVENTORY_ITEM_ID,
        TOP_ORGANIZATION_ID,
        SORT_ORDER,
        BOM_LEVEL,
        ASSEMBLY_ITEM_ID,
        ASSEMBLY_ORGANIZATION_ID,
        COMPONENT_SEQUENCE_ID,
        COMPONENT_ITEM_ID,
        COMPONENT_ORGANIZATION_ID,
        COMPONENT_QUANTITY,
        EXTENDED_QUANTITY,
        INCLUDE_IN_COST_ROLLUP,
        EXTEND_COST_FLAG,
        PHANTOM_FLAG,
        PHANTOM_SUB_ASSY_FLAG,
        ERROR_CODE,
        ERROR_MESG,
        LAST_UPDATE_DATE,
        LAST_UPDATED_BY,
        LAST_UPDATE_LOGIN,
        CREATION_DATE,
        CREATED_BY,
        REQUEST_ID,
        PROGRAM_APPLICATION_ID,
        PROGRAM_ID,
        PROGRAM_UPDATE_DATE
      )
      values
      (
        i_rollup_id,                        -- ROLLUP_ID
        top_assm.component_item_id,         -- TOP_INVENTORY_ITEM_ID
        top_assm.component_organization_id, -- TOP_ORGANIZATION_ID
        0,                                  -- SORT_ORDER
        0,                                  -- BOM_LEVEL
        -1,                                 -- ASSEMBLY_ITEM_ID
        -1,                                 -- ASSEMBLY_ORGANIZATION_ID
        null,                               -- COMPONENT_SEQUENCE_ID
        top_assm.component_item_id,         -- COMPONENT_ITEM_ID
        top_assm.component_organization_id, -- COMPONENT_ORGANIZATION_ID
        0,                                  -- COMPONENT_QUANTITY
        0,                                  -- EXTENDED_QUANTITY
        2,                                  -- INCLUDE_IN_COST_ROLLUP
        2,                                  -- EXTEND_COST_FLAG
        2,                                  -- PHANTOM_FLAG
        2,                                  -- PHANTOM_SUB_ASSY_FLAG
        l_err_code,                         -- ERROR_CODE
        l_err_mesg,                         -- ERROR_MESG
        sysdate,                     -- LAST_UPDATE_DATE
        i_user_id,                   -- LAST_UPDATED_BY
        i_login_id,                  -- LAST_UPDATE_LOGIN
        sysdate,                     -- CREATION_DATE
        i_user_id,                   -- CREATED_BY
        i_request_id,                -- REQUEST_ID
        i_prog_appl_id,              -- PROGRAM_APPLICATION_ID
        i_prog_id,                   -- PROGRAM_ID
        sysdate                      -- PROGRAM_UPDATE_DATE
      );
Line: 1164

  update cst_sc_bom_structures CSBS
  set    CSBS.component_revision =
  (
    select
      substr( max( to_char( MIR.effectivity_date, 'YYYY/MM/DD HH24:MI:SS' ) ||
                   MIR.revision ), 20 )
    from
      mtl_item_revisions MIR
    where
      MIR.inventory_item_id = CSBS.component_item_id and
      MIR.organization_id   = CSBS.component_organization_id and
      MIR.effectivity_date <= i_effective_date
  )
  where  CSBS.rollup_id = i_rollup_id;
Line: 1199

      insert into cst_sc_bom_structures
      (
        ROLLUP_ID,
        TOP_INVENTORY_ITEM_ID,
        TOP_ORGANIZATION_ID,
        SORT_ORDER,
        BOM_LEVEL,
        ASSEMBLY_ITEM_ID,
        ASSEMBLY_ORGANIZATION_ID,
        COMPONENT_SEQUENCE_ID,
        COMPONENT_ITEM_ID,
        COMPONENT_ORGANIZATION_ID,
        COMPONENT_QUANTITY,
        EXTENDED_QUANTITY,
        INCLUDE_IN_COST_ROLLUP,
        EXTEND_COST_FLAG,
        PHANTOM_FLAG,
        PHANTOM_SUB_ASSY_FLAG,
        COMPONENT_REVISION,
        LAST_UPDATE_DATE,
        LAST_UPDATED_BY,
        LAST_UPDATE_LOGIN,
        CREATION_DATE,
        CREATED_BY,
        REQUEST_ID,
        PROGRAM_APPLICATION_ID,
        PROGRAM_ID,
        PROGRAM_UPDATE_DATE
      )
      select
        -1*i_rollup_id,                     -- ROLLUP_ID
        CSBS.top_inventory_item_id,         -- TOP_INVENTORY_ITEM_ID
        CSBS.top_organization_id,           -- TOP_ORGANIZATION_ID
        max(CSBS.sort_order),               -- SORT_ORDER
        max(CSBS.bom_level),                -- BOM_LEVEL
        max(CSBS.assembly_item_id),         -- ASSEMBLY_ITEM_ID
        CSBS.assembly_organization_id,      -- ASSEMBLY_ORGANIZATION_ID
        null,                               -- COMPONENT_SEQUENCE_ID
        CSBS.component_item_id,             -- COMPONENT_ITEM_ID
        CSBS.component_organization_id,     -- COMPONENT_ORGANIZATION_ID
        sum(CSBS.component_quantity),       -- COMPONENT_QUANTITY
        sum(CSBS.extended_quantity),        -- EXTENDED_QUANTITY
        null,                               -- INCLUDE_IN_COST_ROLLUP
        CSBS.extend_cost_flag,              -- EXTEND_COST_FLAG
        CSBS.phantom_flag,                  -- PHANTOM_FLAG
        max(CSBS.phantom_sub_assy_flag),    -- PHANTOM_SUB_ASSY_FLAG
        CSBS.component_revision,            -- COMPONENT_REVISION
        sysdate,                     -- LAST_UPDATE_DATE
        i_user_id,                   -- LAST_UPDATED_BY
        i_login_id,                  -- LAST_UPDATE_LOGIN
        sysdate,                     -- CREATION_DATE
        i_user_id,                   -- CREATED_BY
        i_request_id,                -- REQUEST_ID
        i_prog_appl_id,              -- PROGRAM_APPLICATION_ID
        i_prog_id,                   -- PROGRAM_ID
        sysdate                      -- PROGRAM_UPDATE_DATE
      from
        cst_sc_bom_structures CSBS
      where
        rollup_id                 = i_rollup_id
      group by
        CSBS.top_inventory_item_id,
        CSBS.top_organization_id,
        CSBS.assembly_organization_id,
        CSBS.component_item_id,
        CSBS.component_organization_id,
        CSBS.extend_cost_flag,
        CSBS.phantom_flag,
        CSBS.component_revision;
Line: 1310

     update cst_sc_bom_explosion CSBE
     set deleted_flag = 'Y'
     where
       CSBE.rollup_id    = i_rollup_id and
       CSBE.deleted_flag = 'N'         and
       not exists ( select 'Item in List'
                    from cst_sc_lists CSL
                    where CSL.rollup_id = i_rollup_id
                    and CSL.inventory_item_id = CSBE.component_item_id
                    and CSL.organization_id = CSBE.component_organization_id );
Line: 1327

  insert into cst_sc_low_level_codes
  (
    ROLLUP_ID,
    INVENTORY_ITEM_ID,
    ORGANIZATION_ID,
    LOW_LEVEL_CODE,
    LAST_UPDATE_DATE,
    LAST_UPDATED_BY,
    LAST_UPDATE_LOGIN,
    CREATION_DATE,
    CREATED_BY,
    REQUEST_ID,
    PROGRAM_APPLICATION_ID,
    PROGRAM_ID,
    PROGRAM_UPDATE_DATE
  )
  select distinct
    i_rollup_id,                    -- ROLLUP_ID
    CSBE.component_item_id,         -- INVENTORY_ITEM_ID
    CSBE.component_organization_id, -- ORGANIZATION_ID
    l_low_level_code,               -- LOW_LEVEL_CODE
    sysdate,                     -- LAST_UPDATE_DATE
    i_user_id,                   -- LAST_UPDATED_BY
    i_login_id,                  -- LAST_UPDATE_LOGIN
    sysdate,                     -- CREATION_DATE
    i_user_id,                   -- CREATED_BY
    i_request_id,                -- REQUEST_ID
    i_prog_appl_id,              -- PROGRAM_APPLICATION_ID
    i_prog_id,                   -- PROGRAM_ID
    sysdate                      -- PROGRAM_UPDATE_DATE
  from
    cst_sc_bom_explosion CSBE
  where
    CSBE.rollup_id    = i_rollup_id and
    CSBE.deleted_flag = 'N'         and
    not exists
    (
      select 'x'
      from   cst_sc_bom_explosion CSBE2
      where
        CSBE2.rollup_id                = CSBE.rollup_id                 and
        CSBE2.assembly_item_id         = CSBE.component_item_id         and
        CSBE2.assembly_organization_id = CSBE.component_organization_id and
        CSBE2.deleted_flag             = 'N'
    );
Line: 1375

  update cst_sc_bom_explosion CSBE
  set deleted_flag = 'Y'
  where
    CSBE.rollup_id    = i_rollup_id and
    CSBE.deleted_flag = 'N'         and
    not exists
    (
      select 'x'
      from   cst_sc_bom_explosion CSBE2
      where
        CSBE2.rollup_id                = CSBE.rollup_id                 and
        CSBE2.assembly_item_id         = CSBE.component_item_id         and
        CSBE2.assembly_organization_id = CSBE.component_organization_id and
        CSBE2.deleted_flag             = 'N'
    );
Line: 1403

    select CCT.frozen_standard_flag
    into   l_frozen_standard_flag
    from   cst_cost_types CCT
    where  CCT.cost_type_id = i_cost_type_id;
Line: 1413

      delete cst_sc_low_level_codes CSLLC
      where
        CSLLC.rollup_id      =  i_rollup_id       and
        exists
        (
          select 'x'
          from   mtl_material_transactions MMT
          where  MMT.inventory_item_id = CSLLC.inventory_item_id and
                 MMT.organization_id   = CSLLC.organization_id
        );
Line: 1429

          'Cannot update standard cost for ' || to_char(SQL%ROWCOUNT) ||
          ' items due to existing MMT transactions';
Line: 1497

    select cst_lists_s.nextval
    into   l_rollup_id
    from   dual;
Line: 1519

     insert into cst_sc_rollup_history
     (
       rollup_id,
       explosion_level,
       report_level,
       assignment_set_id,
       conversion_type,
       cost_type_id,
       buy_cost_type_id,
       revision_date,
       INC_UNIMP_ECN_FLAG,
       ENG_BILL_FLAG,
       alt_bom_desg,
       alt_rtg_desg,
       LAST_UPDATE_DATE,
       LAST_UPDATED_BY,
       LAST_UPDATE_LOGIN,
       CREATION_DATE,
       CREATED_BY,
       REQUEST_ID,
       PROGRAM_APPLICATION_ID,
       PROGRAM_ID,
       PROGRAM_UPDATE_DATE
     )
     select
       l_rollup_id,
       i_explosion_levels,
       l_report_levels,
       i_assignment_set_id,
       i_conversion_type,
       i_cost_type_id,
       i_buy_cost_type_id,
       i_effective_date,
       l_include_unimpl_eco,
       l_include_eng,
       i_alt_bom_desg,
       i_alt_rtg_desg,
       sysdate,                     -- LAST_UPDATE_DATE
       i_user_id,                   -- LAST_UPDATED_BY
       i_login_id,                  -- LAST_UPDATE_LOGIN
       sysdate,                     -- CREATION_DATE
       i_user_id,                   -- CREATED_BY
       i_request_id,                -- REQUEST_ID
       i_prog_appl_id,              -- PROGRAM_APPLICATION_ID
       i_prog_id,                   -- PROGRAM_ID
       sysdate                      -- PROGRAM_UPDATE_DATE
     from   dual
     where  not exists
     (
       select 'x'
       from   cst_sc_rollup_history
       where  rollup_id = l_rollup_id
     );
Line: 1577

  CSTPSCEX.insert_assembly_items
  (
    l_rollup_id,
    i_user_id,
    i_login_id,
    i_request_id,
    i_prog_id,
    i_prog_appl_id,
    o_error_code,
    o_error_msg
  );
Line: 1618

  update cst_sc_rollup_history CSRH
  set    CSRH.explosion_time = (SYSDATE - l_timestamp) * 86400
  where  CSRH.rollup_id = l_rollup_id;
Line: 1662

     select max(low_level_code)+2
     into   l_report_levels
     from   cst_sc_low_level_codes
     where  rollup_id = l_rollup_id;
Line: 1669

  update cst_sc_rollup_history CSRH
  set    CSRH.low_level_code_time = (SYSDATE - l_timestamp) * 86400
  where  CSRH.rollup_id = l_rollup_id;
Line: 1700

  update cst_sc_rollup_history CSRH
  set    CSRH.remove_costs_time = (SYSDATE - l_timestamp) * 86400
  where  CSRH.rollup_id = l_rollup_id;
Line: 1729

        i_user_id,            -- L_LAST_UPDATED_BY   NUMBER   IN
        1,                    -- CONC_FLAG           NUMBER   IN
        l_include_unimpl_eco, -- UNIMP_FLAG          NUMBER   IN
        i_lock_flag,          -- LOCKING_FLAG        NUMBER   IN
        to_char(sysdate,'YYYY/MM/DD HH24:MI:SS'), -- ROLLUP_DATE   VARCHAR2 IN
        /* Bug 2305807. Need Effectivity Date. Bug 3098303: pass full time components */
        to_char(i_effective_date, 'YYYY/MM/DD HH24:MI:SS'),
        i_alt_bom_desg,       -- ALT_BOM_DESIGNATOR  VARCHAR2 IN
        i_alt_rtg_desg,       -- ALT_RTG_DESIGNATOR  VARCHAR2 IN
        l_rollup_option,      -- ROLLUP_OPTION       NUMBER   IN
        1,                    -- REPORT_OPTION       NUMBER   IN
        i_exclude_eng,        -- L_MFG_FLAG          NUMBER   IN
        o_error_msg,          -- ERR_BUF             VARCHAR2 OUT
        i_buy_cost_detail     -- BUY_COST_DETAIL     NUMBER   IN
     );
Line: 1750

  update cst_sc_rollup_history CSRH
  set    CSRH.rollup_time = (SYSDATE - l_timestamp) * 86400
  where  CSRH.rollup_id = l_rollup_id;
Line: 1782

  update cst_sc_rollup_history CSRH
  set    CSRH.bom_structure_time = (SYSDATE - l_timestamp) * 86400
  where  CSRH.rollup_id = l_rollup_id;