DBA Data[Home] [Help]

APPS.BOM_DELETE_GROUPS_API SQL Statements

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

Line: 44

  *                   eff_date,op_seq,delete_type.
  * Parameters OUT: err_text
  * return        : 0 -success , other - SQL Exception
  * Purpose : This function will write to conc-log
  ******************************************************************/
FUNCTION write_log(alt_desg IN VARCHAR2,
               org_name IN VARCHAR2,
               item_name IN VARCHAR2,
               comp_name IN VARCHAR2,
               eff_date IN VARCHAR2,
               op_seq IN NUMBER,
                   delete_type IN NUMBER,
                   err_text OUT NOCOPY VARCHAR2) RETURN NUMBER;
Line: 74

  * Parameters IN :   inventory_item_id,organization_id,delete_entity_type
  * Parameters OUT:  err_text
  * return        : 0 -success ,2-error, other - SQL Exception
  * Purpose :  Configuration Item Purge - Consolidate Item
  ******************************************************************/

FUNCTION config_item_consolidate( p_inventory_item_id IN NUMBER,
                                  p_organization_id IN NUMBER,
                                p_delete_entity_type IN NUMBER,
                                err_text  OUT NOCOPY VARCHAR2) return NUMBER;
Line: 87

  * Parameters IN :token_list-TOKEN_RECORD, delete_seq_id, delete_entity_type
  * Parameters OUT:  err_text
  * return        : 0 -success ,2-error, other - SQL Exception
  * Purpose :  This function checks all the constraints from
  *           bom_delete_sql_statements table that are valid for given
  *           delete entity type
  ******************************************************************/

FUNCTION constraint_checker( token_list IN TOKEN_RECORD,
                 delete_seq_id IN NUMBER,
                 delete_entity_type IN NUMBER,
                 err_text  OUT NOCOPY varchar2) return NUMBER;
Line: 124

              insert_table IN VARCHAR2,
            table_name IN VARCHAR2,
                where_clause IN VARCHAR2,
                            bind_list IN BIND_TABLE,
                      err_text  OUT NOCOPY VARCHAR2 ) return NUMBER ;
Line: 130

  * FUNCTION :  update_op_sequences
  * Parameters IN :tdelete_entity_type ,routing_seq_id
  * Parameters OUT:  err_text
  * return        : 0 -success , other - SQL Exception
  * Purpose : updates op sequences to 1 in BOM_INVENTORY_COMPONENTS
  ******************************************************************/

FUNCTION update_op_sequences(delete_entity_type IN NUMBER,
                       routing_seq_id IN NUMBER,
           op_seq_id IN NUMBER,
           err_text  OUT NOCOPY VARCHAR2 ) return NUMBER;
Line: 144

  * FUNCTION :  execute_delete
  * Parameters IN :token_list-TOKEN_RECORD, delete_entity_type
  *                 archive_flag
  * Parameters OUT:  err_text, action_status(4-delete,3-error)
  * return        : 0 -success , other - SQL Exception
  * Purpose :  This function executes the delete statements from
  *           bom_delete_sql_statements table that are valid for given
  *           delete entity type
  ******************************************************************/

FUNCTION execute_delete(delete_entity_type IN NUMBER,
           token_list IN Token_Record,
           archive_flag IN NUMBER,
           action_status OUT NOCOPY NUMBER,
             err_text  OUT NOCOPY VARCHAR2) return NUMBER;
Line: 162

  * FUNCTION : execute_update
  * Parameters IN : delete_entity_type Type of delete entity
  *                 token_list Records of tokens to be substituted
  * Parameters OUT: action_status 4-delete, 3-error
  *                 err_text Error message in case of exception
  * return : 0 -success , other - SQL Exception
  * Purpose : This function executes the update statements from
  *           bom_delete_sql_statements table that are valid for given
  *           delete entity type
  ******************************************************************/

FUNCTION execute_update (
                          delete_entity_type  IN NUMBER,
                          token_list          IN Token_Record,
                          action_status       OUT NOCOPY NUMBER,
                          err_text            OUT NOCOPY VARCHAR2) RETURN NUMBER;
Line: 181

  * FUNCTION :  do_delete
  * Parameters IN :delete group id ,delete type
  *                 action_type (check or delete),archive_flag
  * Parameters OUT:  err_text
  * return        : 0 -success ,2-error, other - SQL Exception
  * Purpose :  This function checks all the constraints,
  *           arvhives the data based on the archive_flag option
  *           deletes the data based on action_type.
  ******************************************************************/

FUNCTION do_delete(group_id IN NUMBER,
      delete_type IN NUMBER,
      action_type IN NUMBER,
      archive_flag IN NUMBER,
      err_text  OUT NOCOPY VARCHAR2,
      process_errored_rows IN VARCHAR2) return NUMBER;
Line: 201

ACT_DELETE CONSTANT NUMBER  := 2;
Line: 214

  * Procedure : delete groups
  * Parameters IN :
  *    delete_group_id,action_type,delete_type,archive
  * Parameters OUT: ERRBUF, RETCODE
  * Purpose : Main procedure for checking and deleting a delete group
  ******************************************************************/

PROCEDURE delete_groups
(ERRBUF OUT NOCOPY VARCHAR2,
RETCODE OUT NOCOPY VARCHAR2,
  delete_group_id  IN NUMBER:= '0',
  action_type IN NUMBER:= '1',
  delete_type IN NUMBER:= '1',
  archive IN NUMBER:='1',
  process_errored_rows IN VARCHAR2
  ) is

CONC_FAILURE EXCEPTION;
Line: 234

CURSOR delete_errors ( c_delete_group_id NUMBER )
IS
  SELECT 1
  FROM
    BOM_DELETE_ENTITIES bdent,
    BOM_DELETE_SUB_ENTITIES bdsubent
  WHERE
        bdent.DELETE_ENTITY_SEQUENCE_ID = bdsubent.DELETE_ENTITY_SEQUENCE_ID(+)
  AND   ( ( bdent.DELETE_STATUS_TYPE = 3 ) OR ( bdsubent.DELETE_STATUS_TYPE = 3 ) )
  AND   bdent.DELETE_GROUP_SEQUENCE_ID = c_delete_group_id;
Line: 267

   Added a call to Package BOM_DELETE_ENTITY.insert_common_bills
   This inserts the common Bill entities for the current org, or all Orgs
   or Org Hierarchy depending on the option chosen on the Delete Groups
   Form
  */
    bom_delete_entity.insert_common_bills(delete_group_id,delete_type);
Line: 278

    if (do_delete(delete_group_id, delete_type, action_type,
    archive,  ERRBUF, process_errored_rows) <> 0) then
  /*
  ** if delete returned failure, write error message to log file
  ** rollback and return CONC_FAILURE
  */
  raise CONC_FAILURE;
Line: 290

   Added a call to Package BOM_DELETE_ENTITY.insert_original_bills
   This inserts original Bill entities for the all Orgs
   or Org Hierarchy depending on the option chosen on the Delete Groups   Form

   */
       bom_delete_entity.insert_original_bills(delete_group_id,delete_type);
Line: 300

    if (do_delete(delete_group_id, delete_type, action_type,
    archive , ERRBUF, process_errored_rows) <> 0) then

  /*
  ** if delete returned failure, write error message to log file
  ** rollback and return CONC_FAILURE
  */
  raise CONC_FAILURE;
Line: 314

  FOR l_del_errors_rec IN delete_errors(delete_group_id)
  LOOP
    RETCODE := '1';
Line: 337

      ERRBUF := ERRBUF||'Bom_Delete_Groups_Api '||stmt_num||' '||substrb(SQLERRM,1,500);
Line: 345

  * FUNCTION :  do_delete
  * Parameters IN :delete group id ,delete type
  *                 action_type (check or delete),archive_flag
  * Parameters OUT:  err_text
  * return        : 0 -success ,2-error, other - SQL Exception
  * Purpose :  This function checks all the constraints,
  *           arvhives the data based on the archive_flag option
  *           deletes the data based on action_type.
  ******************************************************************/

FUNCTION do_delete(group_id IN NUMBER,
                  delete_type IN NUMBER,
                  action_type IN NUMBER,
                  archive_flag IN NUMBER,
                  err_text  OUT NOCOPY varchar2,
                  process_errored_rows IN VARCHAR2) return NUMBER  is


CURSOR entity_cursor (p_group_id NUMBER )is
    SELECT /*+ ORDERED */ BDE.INVENTORY_ITEM_ID inventory_item_id,
     BDE.ORGANIZATION_ID organization_id,
           ALTERNATE_DESIGNATOR alternate_designator,
     DELETE_ENTITY_TYPE delete_entity_type,
     nvl(BILL_SEQUENCE_ID, -1) bill_seq_id,
     nvl(ROUTING_SEQUENCE_ID, -1) routing_seq_id,
                 -1 component_seq_id,
                 -1 operation_seq_id,
     DELETE_ENTITY_SEQUENCE_ID delete_entity_seq_id,
     MP.ORGANIZATION_CODE organization_code,
     BDE.ITEM_CONCAT_SEGMENTS item_name, --bug:6193035 Removed substrb
                 BDE.ITEM_DESCRIPTION description
    FROM BOM_DELETE_ENTITIES BDE, MTL_PARAMETERS MP
    WHERE DELETE_GROUP_SEQUENCE_ID = p_group_id
    AND   DELETE_STATUS_TYPE in (1,2, decode(process_errored_rows, 'Y', 3, 1))
    AND   BDE.ORGANIZATION_ID = MP.ORGANIZATION_ID
    ORDER BY decode(MP.MASTER_ORGANIZATION_ID,
        BDE.ORGANIZATION_ID, 2, 1),
       decode(BDE.DELETE_ENTITY_TYPE,2,9999,BDE.DELETE_ENTITY_TYPE) DESC,
       BDE.ALTERNATE_DESIGNATOR
    FOR UPDATE OF ALTERNATE_DESIGNATOR;
Line: 387

    SELECT /*+ ORDERED */ A.INVENTORY_ITEM_ID inventory_item_id,
     A.ORGANIZATION_ID organization_id,
     A.ALTERNATE_DESIGNATOR alternate_designator,
     nvl(BILL_SEQUENCE_ID, -1) bill_seq_id,
     nvl(ROUTING_SEQUENCE_ID, -1) routing_seq_id,
     nvl(B.COMPONENT_SEQUENCE_ID, -1) component_seq_id,
     nvl(B.OPERATION_SEQUENCE_ID, -1) operation_seq_id,
     B.DELETE_ENTITY_SEQUENCE_ID delete_entity_seq_id,
                 B.component_item_id component_item_id,
     MP.ORGANIZATION_CODE organization_code,
     B.OPERATION_SEQ_NUM op_seq_num,
     to_char(B.EFFECTIVITY_DATE, 'YYYY/MM/DD HH24:MI') effectivity_date,
     A.ITEM_CONCAT_SEGMENTS item_name,
     B.COMPONENT_CONCAT_SEGMENTS comp_name,
                 B.description description
    FROM BOM_DELETE_ENTITIES A, BOM_DELETE_SUB_ENTITIES B,
      MTL_PARAMETERS MP
    WHERE A.DELETE_GROUP_SEQUENCE_ID = p_group_id
    AND   B.DELETE_STATUS_TYPE in (1,2,3)
    AND   A.DELETE_ENTITY_SEQUENCE_ID =
        B.DELETE_ENTITY_SEQUENCE_ID
    AND   MP.ORGANIZATION_ID = A.ORGANIZATION_ID
    FOR UPDATE OF B.OPERATION_SEQUENCE_ID;
Line: 419

        delete_success NUMBER := 0;
Line: 426

** retrieve all rows from DELETE_ENTITIES or DELETE_SUB_ENTITIES table
** depending on delete
*/
    if (delete_type =1 OR delete_type=2 OR delete_type=3 OR delete_type=6 OR delete_type=7 ) THEN
      cursor_type := ENTITY;
Line: 441

        current_seq_id  := entity_record.delete_entity_seq_id;
Line: 444

                                          buff => 'delete_entity_Seq_id =  '|| to_char(current_seq_id));
Line: 446

                    curr_del_entity_type:= entity_record.delete_entity_type;
Line: 456

         delete all errors if any for this entity row since we are going to
         rerun the delete on it
        */

        IF (curr_del_entity_type=1 OR curr_del_entity_type=2 OR curr_del_entity_type=3  )THEN
              DELETE FROM BOM_DELETE_ERRORS
        WHERE DELETE_ENTITY_SEQUENCE_ID = current_seq_id;
Line: 472

      ** perform delete here if action_type is delete
      */
     if (action_type = ACT_DELETE) then
      stmt_num := 7;
Line: 477

      if (execute_delete(entity_record.delete_entity_type,
          token_list, archive_flag, action_status,
           err_text ) <> 0 ) then

           ROLLBACK TO SAVEPOINT start_process;
Line: 482

           delete_success := 1;
Line: 486

            ** write to log file for every lntity deleted
            */
          if (    write_log(
            entity_record.alternate_designator,
            entity_record.organization_code,
            entity_record.item_name,
            null,
            null,
            null,
            entity_record.delete_entity_type,
            err_text )<>0) then
            return 2;
Line: 511

                  entity_record.delete_entity_type,
                  err_text) <> 0) then
                  return 2;
Line: 534

            entity_record.delete_entity_type,
            err_text) <>0) then
         return 2;
Line: 545

     UPDATE BOM_DELETE_ENTITIES
        SET DELETE_STATUS_TYPE = action_status,
            DELETE_DATE = decode(action_status, 4,
                                        sysdate, NULL),
            LAST_UPDATE_DATE = sysdate,
            LAST_UPDATED_BY  = user_id,
            REQUEST_ID       = req_id,
            PROGRAM_UPDATE_DATE = SYSDATE,
            PROGRAM_ID = prog_id,
            PROGRAM_APPLICATION_ID = prog_appl_id
      WHERE DELETE_ENTITY_SEQUENCE_ID = current_seq_id;
Line: 563

        current_seq_id     := sub_entity_record.DELETE_ENTITY_SEQ_ID;
Line: 566

                                          buff => 'delete_entity_Seq_id =  '|| to_char(current_seq_id));
Line: 568

                    curr_del_entity_type:= delete_type;
Line: 579

         ** delete all errors if any for this entity row since we are going to
         ** rerun the delete on it
         */
                    if (curr_del_entity_type=4 ) then
                curr_comp_seq_id := sub_entity_record.component_seq_id;
Line: 584

         DELETE FROM BOM_DELETE_ERRORS
        WHERE DELETE_ENTITY_SEQUENCE_ID = current_seq_id
        AND   COMPONENT_SEQUENCE_ID = curr_comp_seq_id;
Line: 589

           DELETE FROM BOM_DELETE_ERRORS
        WHERE DELETE_ENTITY_SEQUENCE_ID = current_seq_id
        AND   OPERATION_SEQUENCE_ID = curr_op_seq_id;
Line: 599

      ** perform delete here if action_type is delete
      */
      if (action_type = ACT_DELETE) then
          if (execute_delete(curr_del_entity_type,
        token_list, archive_flag, action_status,
        err_text ) <>0) THEN
         ROLLBACK TO SAVEPOINT start_process;
Line: 606

         delete_success := 1;
Line: 610

        ** write to log file for every entity deleted
        */
                              if(write_log(
              sub_entity_record.alternate_designator,
              sub_entity_record.organization_code,
              sub_entity_record.item_name,
              sub_entity_record.comp_name,
              sub_entity_record.effectivity_date,
                                      sub_entity_record.op_seq_num,
              delete_type,err_text)<>0)then
                                     return 2;
Line: 635

              delete_type, err_text)<>0)then
                                     return 2;
Line: 642

        /* bug:5726408 Execute UPDATE statement for entity */
        IF (  execute_update( curr_del_entity_type,
                              token_list,
                              action_status,
                              err_text ) <> 0 )
        THEN

          ROLLBACK TO SAVEPOINT start_process;
Line: 650

          delete_success := 1;
Line: 671

              delete_type,err_text)<>0)then
                                     return 2;
Line: 684

       UPDATE BOM_DELETE_SUB_ENTITIES
          SET DELETE_STATUS_TYPE = action_status,
              DELETE_DATE = decode(action_status, 4,
                         sysdate, NULL),
              LAST_UPDATE_DATE = sysdate,
              LAST_UPDATED_BY = user_id,
              REQUEST_ID       = req_id,
              PROGRAM_UPDATE_DATE = SYSDATE,
              PROGRAM_ID = prog_id,
              PROGRAM_APPLICATION_ID = prog_appl_id
        WHERE DELETE_ENTITY_SEQUENCE_ID = current_seq_id
        AND   ((delete_type = 4
          AND COMPONENT_SEQUENCE_ID =
        curr_comp_seq_id)
       OR
       (curr_del_entity_type = 5
      AND OPERATION_SEQUENCE_ID =
        curr_op_seq_id));
Line: 705

 if (delete_success = 1) then
  return 2;
Line: 719

      err_text := err_text||'do_delete '||stmt_num||' '||substrb(SQLERRM,1,500);
Line: 728

  * Parameters IN :token_list-TOKEN_RECORD, delete_seq_id, delete_entity_type
  * Parameters OUT:  err_text
  * return        : 0 -success ,2-error, other - SQL Exception
  * Purpose :  This function checks all the constraints from
  *           bom_delete_sql_statements table that are valid for given
  *           delete entity type
  ******************************************************************/

FUNCTION constraint_checker( token_list IN Token_Record,
                     delete_seq_id IN  NUMBER,
                     delete_entity_type IN NUMBER,
                     err_text OUT NOCOPY varchar2) return NUMBER  is

     CURSOR constraint_cursor(p_delete_entity_type NUMBER) IS
        SELECT SQL_STATEMENT_NAME stmt_name,
               DELETE_ON_SUCCESS_FLAG delete_on_success_flag,
               MESSAGE_NAME,
               SQL_STATEMENT
        FROM BOM_DELETE_SQL_STATEMENTS
        WHERE SQL_STATEMENT_TYPE = 1
          AND ACTIVE_FLAG = 1
          AND DELETE_ENTITY_TYPE = p_delete_entity_type;
Line: 779

    OPEN constraint_cursor(delete_entity_type);
Line: 790

      if ((delete_entity_type = 1 OR delete_entity_type = 2 OR
      delete_entity_type = 3) AND first_time = 0)THEN

stmt_num := 3;
Line: 798

      delete_entity_type, err_text) <> 0 )THEN

                   return (FATAL_ERROR);
Line: 808

             SELECT SQL_STATEMENT
              INTO constraint_stmt
              FROM BOM_DELETE_SQL_STATEMENTS
                WHERE SQL_STATEMENT_NAME = cur_rec.stmt_name;
Line: 821

** select.  In which case, this constraint should not be executed
*/
stmt_num := 5;
Line: 824

      if ( instr(constraint_stmt,'SELECT') =0) THEN
      return(FATAL_ERROR);
Line: 867

              if (cnt =0 AND cur_rec.delete_on_success_flag = 1) OR
     (cnt <> 0 and cur_rec.delete_on_success_flag =2) then
               error_sequence_number := error_sequence_number +1;
Line: 870

               INSERT INTO BOM_DELETE_ERRORS (
                            DELETE_ENTITY_SEQUENCE_ID,
                            COMPONENT_SEQUENCE_ID,
                            OPERATION_SEQUENCE_ID,
                            ERROR_SEQUENCE_NUMBER,
                            SQL_STATEMENT_NAME,
                            LAST_UPDATE_DATE,
                            LAST_UPDATED_BY,
                            CREATION_DATE,
                            CREATED_BY)
                            VALUES (
                                delete_seq_id,
                                component_sequence_id,
                                operation_sequence_id,
                                error_sequence_number,
                                cur_rec.stmt_name,
                                SYSDATE,
                                user_id,
                                SYSDATE,
                                user_id);
Line: 998

  * Parameters IN :   inventory_item_id,organization_id,delete_entity_type
  * Parameters OUT:  err_text
  * return        : 0 -success ,2-error, other - SQL Exception
  * Purpose :  Configuration Item Purge - Consolidate Item
  ******************************************************************/
FUNCTION config_item_consolidate( p_inventory_item_id IN NUMBER,
                            p_organization_id IN NUMBER,
            p_delete_entity_type IN NUMBER,
          err_text OUT NOCOPY VARCHAR2) return NUMBER is

config_flag      VARCHAR2(1)   := ' ';
Line: 1009

delete_status    VARCHAR2(10)  := ' ';
Line: 1024

                                          buff => 'delete_entity_type:'||to_char(p_delete_entity_type));
Line: 1027

    select MSI.AUTO_CREATED_CONFIG_FLAG,
            MSI.INVENTORY_ITEM_STATUS_CODE,
            MSI.BASE_ITEM_ID
     into   config_flag,
            item_status,
            base_id
     from   MTL_SYSTEM_ITEMS MSI
     where  MSI.ORGANIZATION_ID = p_organization_id
     and    MSI.INVENTORY_ITEM_ID = p_inventory_item_id;
Line: 1040

        select BP.BOM_DELETE_STATUS_CODE
        into   delete_status
        from   BOM_PARAMETERS BP
        where  BP.ORGANIZATION_ID = p_organization_id;
Line: 1046

        IF item_status = delete_status THEN
        BEGIN
           IF base_id <> p_inventory_item_id and base_id IS NOT NULL THEN
           BEGIN
              job_count := 0;
Line: 1051

              IF p_delete_entity_type in (2,3) THEN  /* bill or routing */
              BEGIN
stmt_num := 4;
Line: 1054

                 select count(*)
                 into   job_count
                 from   WIP_DISCRETE_JOBS WDJ
                 where  WDJ.ORGANIZATION_ID = p_organization_id
                 and    WDJ.PRIMARY_ITEM_ID = p_inventory_item_id
                 and    WDJ.STATUS_TYPE <> 12 /*Closed-no charges allowed*/
                 and    rownum = 1;  /* get just the first one that */
Line: 1065

                    update WIP_ENTITIES WE
                    set    WE.PRIMARY_ITEM_ID = base_id
                    where  WE.ORGANIZATION_ID =p_organization_id
                    and    WE.PRIMARY_ITEM_ID = p_inventory_item_id;
Line: 1071

                    update WIP_DISCRETE_JOBS WDJ
                    set    WDJ.PRIMARY_ITEM_ID = base_id,
                           WDJ.ALTERNATE_BOM_DESIGNATOR = NULL,
                           WDJ.ALTERNATE_ROUTING_DESIGNATOR = NULL
                    where  WDJ.ORGANIZATION_ID = p_organization_id
                    and    WDJ.PRIMARY_ITEM_ID = p_inventory_item_id;
Line: 1079

                    update WIP_MOVE_TRANSACTIONS WMT
                    set    WMT.PRIMARY_ITEM_ID = base_id
                    where  WMT.ORGANIZATION_ID = p_organization_id
                    and    WMT.PRIMARY_ITEM_ID = p_inventory_item_id;
Line: 1085

                    update WIP_MOVE_TXN_INTERFACE WMTI
                    set    WMTI.PRIMARY_ITEM_ID = base_id
                    where  WMTI.ORGANIZATION_ID = p_organization_id
                    and    WMTI.PRIMARY_ITEM_ID = p_inventory_item_id;
Line: 1091

                    update WIP_REQUIREMENT_OPERATIONS WRO
                    set    WRO.INVENTORY_ITEM_ID = base_id
                    where  WRO.ORGANIZATION_ID = p_organization_id
                    and    WRO.INVENTORY_ITEM_ID = p_inventory_item_id;
Line: 1097

                    update WIP_COST_TXN_INTERFACE WCTI
                    set    WCTI.PRIMARY_ITEM_ID = base_id
                    where  WCTI.ORGANIZATION_ID = p_organization_id
                    and    WCTI.PRIMARY_ITEM_ID = p_inventory_item_id;
Line: 1103

                    update WIP_TRANSACTIONS WT
                    set    WT.PRIMARY_ITEM_ID = base_id
                    where  WT.ORGANIZATION_ID = p_organization_id
                    and    WT.PRIMARY_ITEM_ID = p_inventory_item_id;
Line: 1112

              IF p_delete_entity_type = 1 THEN   /* item */
              BEGIN
stmt_num := 12;
Line: 1115

                 update MTL_MATERIAL_TRANSACTIONS MT
                 set    MT.INVENTORY_ITEM_ID = base_id
                 where  MT.ORGANIZATION_ID = p_organization_id
                 and    MT.INVENTORY_ITEM_ID = p_inventory_item_id;
Line: 1121

                 update MTL_TRANSACTION_LOT_NUMBERS MTLN
                 set    MTLN.INVENTORY_ITEM_ID = base_id
                 where  MTLN.ORGANIZATION_ID = p_organization_id
                 and    MTLN.INVENTORY_ITEM_ID = p_inventory_item_id;
Line: 1127

                 update MTL_UNIT_TRANSACTIONS MUT
                 set    MUT.INVENTORY_ITEM_ID = base_id
                 where  MUT.ORGANIZATION_ID = p_organization_id
                 and    MUT.INVENTORY_ITEM_ID = p_inventory_item_id;
Line: 1133

                 update MTL_TRANSACTION_ACCOUNTS MTA
                 set    MTA.INVENTORY_ITEM_ID = base_id
                 where  MTA.ORGANIZATION_ID = p_organization_id
                 and    MTA.INVENTORY_ITEM_ID = p_inventory_item_id;
Line: 1157

  * FUNCTION :  execute_delete
  * Parameters IN :token_list-TOKEN_RECORD, delete_entity_type
  *                 archive_flag
  * Parameters OUT:  err_text, action_status(4-delete,3-error)
  * return        : 0 -success , other - SQL Exception
  * Purpose :  This function executes the delete statements from
  *           bom_delete_sql_statements table that are valid for given
  *           delete entity type
  ******************************************************************/
FUNCTION execute_delete(delete_entity_type IN NUMBER,
                       token_list IN Token_Record,
                       archive_flag IN NUMBER,
                       action_status OUT NOCOPY NUMBER,
                       err_text  OUT NOCOPY VARCHAR2) return NUMBER is

CURSOR delete_cursor(p_delete_entity_type NUMBER) IS
  SELECT sql_statement stmt, ARCHIVE_TABLE_NAME,
         length(ARCHIVE_TABLE_NAME) archive_table_length,
   SQL_STATEMENT_NAME stmt_name
  FROM BOM_DELETE_SQL_STATEMENTS
  WHERE SQL_STATEMENT_TYPE = 2
  AND ACTIVE_FLAG = 1
  AND DELETE_ENTITY_TYPE = p_delete_entity_type
  ORDER BY SEQUENCE_NUMBER;
Line: 1184

 delete_stmt LONG;
Line: 1192

       for cur_rec in delete_cursor(delete_entity_type) LOOP

stmt_num := 2;
Line: 1204

    delete_stmt := upper(cur_rec.stmt);
Line: 1208

                                          buff => delete_stmt);
Line: 1212

** select.  In which case, this constraint should not be executed
*/
stmt_num := 4;
Line: 1215

           if ( instr(delete_stmt,'DELETE') =0) THEN
      return(FATAL_ERROR);
Line: 1222

           if (substitute_tokens(  token_list,delete_stmt,bind_list,err_text)<>0) THEN
               return 2;
Line: 1227

                                          buff => delete_stmt);
Line: 1231

          table_name  := extract_table_name(delete_stmt,err_text);
Line: 1233

          where_stmt  := extract_where(delete_stmt,err_text);
Line: 1247

    DBMS_SQL.PARSE(cursor_name, delete_stmt,dbms_sql.native);
Line: 1257

action_status := 4; -- deleted successfully
Line: 1262

      err_text := err_text||'exec_delete '||stmt_num||' '||substrb(SQLERRM,1,500);
Line: 1271

  * FUNCTION : execute_update
  * Parameters IN : delete_entity_type Type of delete entity
  *                 token_list Records of tokens to be substituted
  * Parameters OUT: action_status 4-delete, 3-error
  *                 err_text Error message in case of exception
  * return : 0 -success , other - SQL Exception
  * Purpose : This function executes the update statements from
  *           bom_delete_sql_statements table that are valid for given
  *           delete entity type
  ******************************************************************/

FUNCTION execute_update (
                          delete_entity_type  IN NUMBER,
                          token_list          IN Token_Record,
                          action_status       OUT NOCOPY NUMBER,
                          err_text            OUT NOCOPY VARCHAR2) RETURN NUMBER
IS

  CURSOR delete_cursor(p_delete_entity_type NUMBER)
  IS
    SELECT
        SQL_STATEMENT stmt,
        SQL_STATEMENT_NAME stmt_name
    FROM BOM_DELETE_SQL_STATEMENTS
    WHERE
        SQL_STATEMENT_TYPE = 3
    AND ACTIVE_FLAG = 1
    AND DELETE_ENTITY_TYPE = p_delete_entity_type
    ORDER BY SEQUENCE_NUMBER;
Line: 1301

  delete_stmt     LONG;
Line: 1311

  FOR cur_rec IN delete_cursor ( delete_entity_type )
  LOOP

    /* check to see if sql stmt was truncated, if so then allocate and
     * retrieve again */

    stmt_num := 2;
Line: 1318

    delete_stmt := UPPER(cur_rec.stmt);
Line: 1323

                          buff => delete_stmt);
Line: 1326

    /* check to see if the first word in the statement is UPDATE. */
    stmt_num := 3;
Line: 1328

    IF ( INSTR( delete_stmt, 'UPDATE' ) = 0 )
    THEN
      RETURN( FATAL_ERROR );
Line: 1334

    IF ( substitute_tokens( token_list, delete_stmt, bind_list, err_text ) <> 0 )
    THEN
      RETURN 2;
Line: 1341

                            buff => delete_stmt );
Line: 1347

    DBMS_SQL.PARSE( cursor_name, delete_stmt, DBMS_SQL.NATIVE );
Line: 1358

  END LOOP; -- end FOR cur_rec IN delete_cursor
Line: 1360

  action_status := 4; -- deleted successfully
Line: 1365

      err_text := err_text||'exec_update '||stmt_num||' '||substrb(SQLERRM,1,500);
Line: 1368

END execute_update;
Line: 1372

  * FUNCTION :  update_op_sequences
  * Parameters IN :tdelete_entity_type ,routing_seq_id
  * Parameters OUT:  err_text
  * return        : 0 -success , other - SQL Exception
  * Purpose : updates op sequences to 1 in BOM_INVENTORY_COMPONENTS
  ******************************************************************/

FUNCTION update_op_sequences(delete_entity_type IN  NUMBER,
                                     routing_seq_id IN NUMBER,
                                     op_seq_id IN  NUMBER,
        err_text OUT NOCOPY varchar2) return NUMBER is
stmt_num NUMBER := 0;
Line: 1386

    if (delete_entity_type = 3) THEN/* routing delete */
stmt_num := 1;
Line: 1388

  UPDATE BOM_INVENTORY_COMPONENTS
      SET OPERATION_SEQ_NUM = 1
      WHERE BILL_SEQUENCE_ID = (SELECT BILL_SEQUENCE_ID
    FROM BOM_BILL_OF_MATERIALS BOM,
        BOM_OPERATIONAL_ROUTINGS BOR
    WHERE BOR.ROUTING_SEQUENCE_ID = routing_seq_id
    AND   BOR.ORGANIZATION_ID = BOM.ORGANIZATION_ID
    AND   BOR.ASSEMBLY_ITEM_ID = BOM.ASSEMBLY_ITEM_ID
    AND   nvl(BOR.ALTERNATE_ROUTING_DESIGNATOR, 'NONE') =
      nvl(BOM.ALTERNATE_BOM_DESIGNATOR, 'NONE'));
Line: 1398

    else  /* operation delete */
stmt_num := 2;
Line: 1400

  UPDATE BOM_INVENTORY_COMPONENTS BIC
      SET OPERATION_SEQ_NUM = 1
      WHERE BILL_SEQUENCE_ID = (SELECT BILL_SEQUENCE_ID
    FROM BOM_BILL_OF_MATERIALS BOM,
        BOM_OPERATIONAL_ROUTINGS BOR
    WHERE BOR.ROUTING_SEQUENCE_ID = routing_seq_id
    AND   BOR.ORGANIZATION_ID = BOM.ORGANIZATION_ID
    AND   BOR.ASSEMBLY_ITEM_ID = BOM.ASSEMBLY_ITEM_ID
    AND   nvl(BOR.ALTERNATE_ROUTING_DESIGNATOR, 'NONE') =
      nvl(BOM.ALTERNATE_BOM_DESIGNATOR, 'NONE'))
    AND OPERATION_SEQ_NUM = (SELECT OPERATION_SEQ_NUM
    FROM BOM_OPERATION_SEQUENCES
    WHERE OPERATION_SEQUENCE_ID = op_seq_id);
Line: 1418

      err_text := err_text||'update_op_sequences'||stmt_num||' '||substrb(SQLERRM,1,500);
Line: 1433

           insert_table IN varchar2,
                       table_name IN varchar2,
                       where_clause IN varchar2,
                            bind_list IN BIND_TABLE,
                       err_text OUT NOCOPY varchar2) return NUMBER  is

   l_schema VARCHAR2(30);
Line: 1447

    SELECT distinct ATC.COLUMN_NAME COLUMN_NAME
    FROM  ALL_TAB_COLUMNS ATC,
          ALL_OBJECTS AO
    WHERE TABLE_NAME = trim(prod_table)
    AND     ( ( AO.OBJECT_TYPE = 'TABLE' AND ATC.OWNER = schema_name )
         OR   ( AO.OBJECT_TYPE = 'VIEW'  AND ATC.OWNER = oracle_user ) )
    AND AO.OBJECT_NAME = trim(prod_table)
        AND AO.OWNER = ATC.OWNER
    ORDER BY COLUMN_NAME;
Line: 1456

insert_stmt LONG;
Line: 1457

update_stmt LONG;
Line: 1471

** update the standard who columns before archiving the data.  Need to
** do it this way, since if I try to update after archiving, then I don't
** know which rows were updated.  If for some reason there is a failure
** then it rollsback the updates anyways
*/


stmt_num := 0;
Line: 1484

   update_stmt:=  'UPDATE' || table_name || ' SET REQUEST_ID = ' || req_id
    ||', PROGRAM_ID = ' || prog_id ||', PROGRAM_APPLICATION_ID =' || resp_appl_id
            ||', PROGRAM_UPDATE_DATE = sysdate ';
Line: 1490

                                          buff => update_stmt);
Line: 1492

update_stmt := update_stmt ||' WHERE '||where_clause;
Line: 1495

                DBMS_SQL.PARSE(cursor_name, update_stmt,dbms_sql.native);
Line: 1502

    archive_table := insert_table;
Line: 1506

          SELECT 1
       INTO dummy
       FROM DUAL
         WHERE EXISTS (
     SELECT NULL
     FROM ALL_TAB_COLUMNS COL1
     WHERE TABLE_NAME = trim(prod_table)
     AND NOT EXISTS (
       SELECT NULL
       FROM ALL_TAB_COLUMNS COL2
       WHERE TABLE_NAME = trim(archive_table)
       AND COL2.COLUMN_NAME = COL1.COLUMN_NAME));
Line: 1532

    SELECT
      ORACLE_USERNAME INTO l_oracleUser
    FROM
      FND_ORACLE_USERID
    WHERE
      READ_ONLY_FLAG = 'U';
Line: 1558

    insert_stmt := insert_stmt  || ' INSERT INTO  '||insert_table || '( ';
Line: 1567

         insert_stmt := insert_stmt || col_list.column_name || ' , ';
Line: 1571

     insert_stmt:= trim (insert_stmt);
Line: 1572

    insert_stmt := substr(insert_stmt,1,length(insert_stmt)-1 );
Line: 1573

    insert_stmt := insert_stmt || ' )  SELECT ';
Line: 1576

          insert_stmt := insert_stmt || col_list.column_name || ' , ';
Line: 1579

     insert_stmt := trim (insert_stmt);
Line: 1580

    insert_stmt := substr(insert_stmt,1,length(insert_stmt)-1 );
Line: 1582

    insert_stmt := insert_stmt || ' FROM '|| prod_table || ' WHERE ' ||where_clause;
Line: 1587

                                          buff => insert_stmt);
Line: 1590

                DBMS_SQL.PARSE(cursor_name, insert_stmt,dbms_sql.native);
Line: 1620

position1 := instr (stmt, 'DELETE',1) +6;
Line: 1656

  *                   eff_date,op_seq,delete_type.
  * Parameters OUT: err_text
  * return        : 0 -success , other - SQL Exception
  * Purpose : This function will write to conc-log
  ******************************************************************/
FUNCTION write_log(alt_desg IN VARCHAR2,
                   org_name IN VARCHAR2,
                   item_name IN VARCHAR2,
                   comp_name IN VARCHAR2,
                   eff_date IN VARCHAR2,
                   op_seq IN NUMBER,
                   delete_type IN NUMBER,
                   err_text OUT NOCOPY VARCHAR2)  return NUMBER is
err_text1 varchar2(2000);
Line: 1675

    if(delete_type = 1)then
         /* item delete */
          Fnd_Message.set_name('BOM', 'BOM_ITEM_DELETED');
Line: 1681

   elsif(delete_type =2 )then

      /* bill delete */
          Fnd_Message.set_name('BOM', 'BOM_BILL_DELETED');
Line: 1689

   elsif(delete_type =3 )then
   /* routing delete */
          Fnd_Message.set_name('BOM', 'BOM_ROUTING_DELETED');
Line: 1695

   elsif(delete_type =4 )then
  /* component delete */
          Fnd_Message.set_name('BOM', 'BOM_COMPONENT_DELETED1');
Line: 1702

          Fnd_Message.set_name('BOM', 'BOM_COMPONENT_DELETED2');
Line: 1707

   elsif(delete_type =5 )then
  /* operation delete */
          Fnd_Message.set_name('BOM', 'BOM_OPERATION_DELETED1');
Line: 1714

          Fnd_Message.set_name('BOM', 'BOM_OPERATION_DELETED2');
Line: 1742

  *                   bill_id, comp_id,delete_type
  * Parameters OUT: err_text
  * return        : 0 -success ,other - SQL Exception
  * Purpose : This function will invokde different Business Events
  *     depending on the parameters passed.
  ******************************************************************/
FUNCTION invoke_events(     p_action_type IN NUMBER,
                            p_org_id IN NUMBER,
                            p_assembly_id IN  NUMBER,
                            p_alternate IN VARCHAR2,
                            p_item_name VARCHAR2,
                            p_description VARCHAR2,
                            p_bill_id IN NUMBER,
                            p_comp_id IN  NUMBER,
                            p_delete_type IN NUMBER,
                            err_text OUT NOCOPY VARCHAR2)  return NUMBER is
l_ret_status  varchar2(1);
Line: 1766

       if (p_delete_type = 1) then

         /* Call IP api */ -- bug 4323967

         IF (BOM_VALIDATE.Object_Exists(
			                                  p_object_type  => 'PACKAGE',
			                                  p_object_name  => 'ICX_CAT_POPULATE_MI_GRP') = 'Y') THEN

           SELECT DECODE(master_organization_id, p_org_id, 'Y', 'N'), organization_code
				     INTO l_master_org_flag, l_org_code
    			 	 FROM MTL_PARAMETERS
    				WHERE organization_id = p_org_id;
Line: 1788

                     '  ,P_DML_TYPE           => ''DELETE''			'||
                     '  , P_INVENTORY_ITEM_ID   =>:p_assembly_id            '||
                     '  , P_ITEM_NUMBER         =>:p_item_name        	'||
                     '  , P_ORGANIZATION_ID     =>:p_org_id 		'||
                     '  , P_ORGANIZATION_CODE   =>:l_org_code		'||
                     '  , P_MASTER_ORG_FLAG     =>:l_master_org_flag	'||
                     '  , P_ITEM_DESCRIPTION    =>:p_description            '||
               			 '  ,X_RETURN_STATUS      => :l_ret_status );           '||
Line: 1815

                       '  EGO_COMMON_PVT.CANCEL_NIR_FOR_DELETE_ITEM( '||
                       '    P_INVENTORY_ITEM_ID   =>:p_assembly_id   '||
                       '  , P_ORGANIZATION_ID     =>:p_org_id   	   '||
                       '  , P_ITEM_NUMBER         =>:p_item_name );  '||
Line: 1834

       elsif (p_delete_type =2 ) then
         Bom_Business_Event_PKG.Raise_Bill_Event
           ( p_pk1_value =>to_char( p_assembly_id)
            ,p_pk2_value => to_char(p_org_id)
            ,p_obj_name => null
            ,p_structure_name => p_alternate
            ,p_structure_comment => null
            ,p_organization_id => p_org_id
            ,p_Event_Name          =>  Bom_Business_Event_PKG.G_STRUCTURE_DEL_SUCCESS_EVENT);
Line: 1843

       elsif (p_delete_type =4) then
         Bom_Business_Event_PKG.Raise_Component_Event
           ( p_bill_sequence_id => p_bill_id
            ,p_pk1_value => to_char(p_comp_id)
            ,p_pk2_value => to_char(p_org_id)
            ,p_obj_name => null
            ,p_organization_id => p_org_id
            ,p_comp_item_name       => p_item_name
            ,p_comp_description => p_description
            ,p_Event_Name          =>  Bom_Business_Event_PKG.G_COMPONENT_DEL_SUCCESS_EVENT);
Line: 1853

       end if;  --if (p_delete_type = 1) then
Line: 1857

       if (p_delete_type = 1) then
         Bom_Business_Event_PKG.Raise_Item_Event
           ( p_Inventory_Item_Id   => p_assembly_id
            ,p_Organization_Id     => p_org_id
            ,p_item_name           => p_item_name
            ,p_item_description    => p_description
            ,p_Event_Name          => Bom_Business_Event_PKG.G_ITEM_DEL_ERROR_EVENT);
Line: 1864

       elsif (p_delete_type =2 ) then
         Bom_Business_Event_PKG.Raise_Bill_Event
           ( p_pk1_value => to_char(p_assembly_id)
            ,p_pk2_value => to_char(p_org_id)
            ,p_obj_name => null
            ,p_structure_name => p_alternate
            ,p_structure_comment => null
            ,p_organization_id => p_org_id
            ,p_Event_Name          =>  Bom_Business_Event_PKG.G_STRUCTURE_DEL_ERROR_EVENT);
Line: 1873

       elsif (p_delete_type =4) then
         Bom_Business_Event_PKG.Raise_Component_Event
           ( p_bill_sequence_id => p_bill_id
            ,p_pk1_value => to_char(p_comp_id)
            ,p_pk2_value => to_char(p_org_id)
            ,p_obj_name => null
            ,p_organization_id => p_org_id
            ,p_comp_item_name       => p_item_name
            ,p_comp_description => p_description
            ,p_Event_Name          =>  Bom_Business_Event_PKG.G_COMPONENT_DEL_ERROR_EVENT);
Line: 1883

       end if; --if (p_delete_type = 1) then
Line: 1896

PROCEDURE delete_groups
(ERRBUF OUT NOCOPY VARCHAR2,
RETCODE OUT NOCOPY VARCHAR2,
  delete_group_id  IN NUMBER:= '0',
  action_type IN NUMBER:= '1',
  delete_type IN NUMBER:= '1',
  archive IN NUMBER:='1'
  )
  is
  begin
    delete_groups(
      ERRBUF => ERRBUF,
      RETCODE => RETCODE,
      delete_group_id => delete_group_id ,
      action_type => action_type,
      delete_type => delete_type,
      archive => archive,
      process_errored_rows => 'Y');