DBA Data[Home] [Help]

APPS.RCV_PROCESSOR_PVT SQL Statements

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

Line: 14

   PROCEDURE insert_rcv_lots_supply(
      p_api_version              IN            NUMBER,
      p_init_msg_list            IN            VARCHAR2,
      x_return_status            OUT NOCOPY    VARCHAR2,
      p_interface_transaction_id IN            NUMBER,
      p_shipment_line_id         IN            NUMBER,
      p_supply_source_id         IN            NUMBER,
      p_source_type_code         IN            VARCHAR2,
      p_transaction_type         IN            VARCHAR2
   ) IS
      CURSOR c IS
         SELECT rls.ROWID
         FROM   rcv_lots_supply rls,
                rcv_transactions rt
         WHERE  rt.interface_transaction_id = p_interface_transaction_id
         AND    rls.transaction_id = rt.transaction_id;
Line: 42

         SELECT   mtlt.lot_number,
                  SUM(mtlt.primary_quantity),
                  SUM(mtlt.transaction_quantity),
                  rti.shipment_header_id,
                  rti.item_id,
                  rti.unit_of_measure,
                  rti.to_organization_id
         FROM     mtl_transaction_lots_temp mtlt,
                  rcv_transactions_interface rti
         WHERE    product_transaction_id = l_interface_id
         AND      product_code = 'RCV'
         AND      rti.interface_transaction_id = mtlt.product_transaction_id
         GROUP BY mtlt.lot_number,
                  rti.shipment_header_id,
                  rti.shipment_line_id,
                  rti.item_id,
                  rti.unit_of_measure,
                  rti.to_organization_id;
Line: 70

         SELECT rls.quantity,
                rls.primary_quantity,
                rls.shipment_line_id
         FROM   rcv_lots_supply rls
         WHERE  rls.lot_num = l_lot_num
         AND    rls.supply_type_code = 'SHIPMENT'
         AND    EXISTS(SELECT 1
                       FROM   rcv_shipment_lines rsl
                       WHERE  rsl.shipment_header_id = l_shipment_header_id
                       AND    rsl.item_id = l_item_id
                       AND    rsl.shipment_line_id = rls.shipment_line_id);
Line: 83

      l_qty_to_be_updated         NUMBER;
Line: 84

      l_primary_qty_to_be_updated NUMBER;
Line: 108

       * In this case we do not error nor insert. So return.
      */
      SELECT COUNT(*)
      INTO   l_lot_count
      FROM   mtl_transaction_lots_temp mtlt
      WHERE  mtlt.product_transaction_id = p_interface_transaction_id
      AND    mtlt.product_code = 'RCV';
Line: 124

      /* We need to insert into rcv_lots_supply and
       * rcv_serials_supply table only when we come through ROI
       * or when we come through desktop and have lpn info.
       * We insert lpn_id in rcv_supply. So return if there is
       * a value and validation_flag is N.
      */
      SELECT NVL(validation_flag, 'N')
      INTO   l_validation_flag
      FROM   rcv_transactions_interface
      WHERE  interface_transaction_id = p_interface_transaction_id;
Line: 135

      SELECT NVL(lpn_id, -999)
      INTO   l_lpn_id
      FROM   rcv_supply
      WHERE  supply_source_id = p_supply_source_id;
Line: 150

      SELECT transaction_id,
             organization_id
      INTO   l_transaction_id,
             l_organization_id
      FROM   rcv_transactions rt
      WHERE  rt.interface_transaction_id = p_interface_transaction_id;
Line: 158

         asn_debug.put_line('before insert_lot_supply');
Line: 161

      insert_lot_supply(p_interface_transaction_id,
                        'RECEIVING',
                        p_supply_source_id,
                        x_return_status
                       );
Line: 168

         asn_debug.put_line('After insert_lot_supply');
Line: 172

       * then we need to update the values for the shipment
       * supply in rcv_lots_supply.
      */
      /* INVCONV , update for process transactions also.
         Remove the process specific restriction. Punit Kumar */

      -- roi enhacements for OPM.bug# 3061052
      -- don't update for OPM transactions.

     /* IF (gml_process_flags.check_process_orgn(p_organization_id    => l_organization_id) = 0) THEN */

         IF (    p_transaction_type = 'RECEIVE'
             AND p_source_type_code IN('INVENTORY', 'REQ')) THEN --{
            /* Bug 3376348, 3459830.
             * It might happen that the original shipment lines are split
             * into multiple shipment_lines (when lpn has 2 lots for eg).
             * So instead of using shipment_line_id to delete use
             * shipment_header_id.
            */
            IF (g_asn_debug = 'Y') THEN
               asn_debug.put_line('In insert rcv_lots_supply for source type code INVENTORY or REQ');
Line: 203

                l_primary_qty_to_be_updated,
                l_qty_to_be_updated,
                l_shipment_header_id,
                l_item_id,
                l_txn_uom,
                l_to_org_id;
Line: 214

                  asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 215

                  asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 222

               SELECT MAX(primary_unit_of_measure)
               INTO   l_primary_uom
               FROM   mtl_system_items
               WHERE  mtl_system_items.inventory_item_id = l_item_id
               AND    mtl_system_items.organization_id = l_to_org_id;
Line: 232

               /* l_qty_to_be_updated shd be in
                * terms of the parent's uom. For
                * shipment supply qty, it must be
                * in terms of uom in rsl.
               */
               OPEN supply_quantity(l_lot_num,
                                    l_shipment_header_id,
                                    l_item_id
                                   );
Line: 251

                        OR l_primary_qty_to_be_updated = 0;
Line: 259

                  SELECT unit_of_measure
                  INTO   l_parent_uom
                  FROM   rcv_shipment_lines
                  WHERE  shipment_line_id = l_ship_line_id;
Line: 269

                     l_qty_to_be_updated  := rcv_transactions_interface_sv.convert_into_correct_qty(l_primary_qty_to_be_updated,
                                                                                                    l_primary_uom,
                                                                                                    l_item_id,
                                                                                                    l_parent_uom
                                                                                                   );
Line: 277

                     asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 279

                     asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 282

                  IF (l_rls_primary_qty >= l_primary_qty_to_be_updated) THEN --{
                     IF (g_asn_debug = 'Y') THEN
                        asn_debug.put_line('rls primary qty greater');
Line: 285

                        asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 286

                        asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 291

                     UPDATE rcv_lots_supply rls
                        SET quantity = quantity - l_qty_to_be_updated,
                            primary_quantity = primary_quantity - l_primary_qty_to_be_updated
                      WHERE rls.lot_num = l_lot_num
                     AND    shipment_line_id = l_ship_line_id
                     AND    rls.supply_type_code = 'SHIPMENT';
Line: 298

                     l_qty_to_be_updated          := 0;
Line: 299

                     l_primary_qty_to_be_updated  := 0;
Line: 303

                        asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 304

                        asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 309

                     UPDATE rcv_lots_supply rls
                        SET quantity = 0,
                            primary_quantity = 0
                      WHERE rls.lot_num = l_lot_num
                     AND    shipment_line_id = l_ship_line_id
                     AND    rls.supply_type_code = 'SHIPMENT';
Line: 316

                     l_qty_to_be_updated          := l_qty_to_be_updated - l_rls_qty;
Line: 317

                     l_primary_qty_to_be_updated  := l_primary_qty_to_be_updated - l_rls_primary_qty;
Line: 320

                        asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 321

                        asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 342

         asn_debug.put_line('Exit insert_rcv_lots_supply');
Line: 347

            asn_debug.put_line('no_data_found insert_rcv_lots_supply');
Line: 352

         INSERT INTO po_interface_errors
                     (interface_type,
                      interface_transaction_id,
                      error_message,
                      processing_date,
                      creation_date,
                      created_by,
                      last_update_date,
                      last_updated_by,
                      last_update_login,
                      request_id,
                      program_application_id,
                      program_id,
                      program_update_date
                     )
            SELECT 'RECEIVING',
                   p_interface_transaction_id,
                   'RCV_INSERT_LOT_SUPPLY_FAIL',
                   SYSDATE,
                   rti.creation_date,
                   rti.created_by,
                   rti.last_update_date,
                   rti.last_updated_by,
                   rti.last_update_login,
                   rti.request_id,
                   rti.program_application_id,
                   rti.program_id,
                   rti.program_update_date
            FROM   rcv_transactions_interface rti
            WHERE  rti.interface_transaction_id = p_interface_transaction_id;
Line: 384

            asn_debug.put_line('others insert_rcv_lots_supply');
Line: 389

         INSERT INTO po_interface_errors
                     (interface_type,
                      interface_transaction_id,
                      error_message,
                      processing_date,
                      creation_date,
                      created_by,
                      last_update_date,
                      last_updated_by,
                      last_update_login,
                      request_id,
                      program_application_id,
                      program_id,
                      program_update_date
                     )
            SELECT 'RECEIVING',
                   p_interface_transaction_id,
                   'RCV_INSERT_LOT_SUPPLY_ERROR',
                   SYSDATE,
                   rti.creation_date,
                   rti.created_by,
                   rti.last_update_date,
                   rti.last_updated_by,
                   rti.last_update_login,
                   rti.request_id,
                   rti.program_application_id,
                   rti.program_id,
                   rti.program_update_date
            FROM   rcv_transactions_interface rti
            WHERE  rti.interface_transaction_id = p_interface_transaction_id;
Line: 419

   END insert_rcv_lots_supply;
Line: 422

   PROCEDURE insert_rcv_serials_supply(
      p_api_version              IN            NUMBER,
      p_init_msg_list            IN            VARCHAR2,
      x_return_status            OUT NOCOPY    VARCHAR2,
      p_interface_transaction_id IN            NUMBER,
      p_shipment_line_id         IN            NUMBER,
      p_supply_source_id         IN            NUMBER,
      p_source_type_code         IN            VARCHAR2,
      p_transaction_type         IN            VARCHAR2
   ) IS
      CURSOR select_serials(
         p_interface_transaction_id NUMBER
      ) IS
         SELECT msnt.fm_serial_number,
                msnt.to_serial_number,
                mtlt.lot_number
         FROM   mtl_serial_numbers_temp msnt,
                mtl_transaction_lots_temp mtlt
         WHERE  msnt.product_transaction_id = p_interface_transaction_id
         AND    msnt.product_code = 'RCV'
         AND    msnt.transaction_temp_id = mtlt.serial_transaction_temp_id(+);
Line: 444

      l_select_serials         select_serials%ROWTYPE;
Line: 454

      l_delete_shipment_supply VARCHAR2(1)                                       := 'N';
Line: 475

       * In this case we do not error nor insert. So return.
      */
      SELECT COUNT(*)
      INTO   l_serial_count
      FROM   mtl_serial_numbers_temp msnt
      WHERE  msnt.product_transaction_id = p_interface_transaction_id
      AND    msnt.product_code = 'RCV';
Line: 491

      /* We need to insert into rcv_lots_supply and
       * rcv_serials_supply table only when we come through ROI
       * or when we come through desktop and have lpn info.
       * We insert lpn_id in rcv_supply. So return if there is
       * a value and validation_flag is N.
      */
      SELECT NVL(validation_flag, 'N')
      INTO   l_validation_flag
      FROM   rcv_transactions_interface
      WHERE  interface_transaction_id = p_interface_transaction_id;
Line: 502

      SELECT NVL(lpn_id, -999)
      INTO   l_lpn_id
      FROM   rcv_supply
      WHERE  supply_source_id = p_supply_source_id;
Line: 517

      OPEN select_serials(p_interface_transaction_id);
Line: 520

       *  then we need to delete the values for the shipment
       * supply in rcv_shipment_supply since we would have created the
       * receiving supply for the serial numbers that are used for
       * receiving. Set l_delete_shipment_supply to Y. This will be
       * used later to delete the shipment serial supply row.
      */
      IF (    p_transaction_type = 'RECEIVE'
          AND p_source_type_code IN('INVENTORY', 'REQ')) THEN
         l_delete_shipment_supply  := 'Y';
Line: 532

         FETCH select_serials INTO l_select_serials;
Line: 533

         EXIT WHEN select_serials%NOTFOUND;
Line: 534

         split_serial_number(l_select_serials.fm_serial_number,
                             l_serial_prefix,
                             l_from_serial_number
                            );
Line: 538

         split_serial_number(l_select_serials.to_serial_number,
                             l_serial_prefix,
                             l_to_serial_number
                            );
Line: 543

         l_serial_num_length  := LENGTH(l_select_serials.fm_serial_number);
Line: 559

         SELECT transaction_id
         INTO   l_transaction_id
         FROM   rcv_transactions rt
         WHERE  rt.interface_transaction_id = p_interface_transaction_id;
Line: 586

            insert_serial_supply(p_interface_transaction_id,
                                 l_select_serials.lot_number,
                                 l_cur_serial_number,
                                 'RECEIVING',
                                 p_supply_source_id,
                                 x_return_status
                                );
Line: 595

               asn_debug.put_line('After insert_serial_supply ');
Line: 600

            asn_debug.put_line('l_delete_shipment_supply ' || l_delete_shipment_supply);
Line: 603

         IF (l_delete_shipment_supply = 'Y') THEN
            SELECT shipment_header_id,
                   item_id
            INTO   l_shipment_header_id,
                   l_item_id
            FROM   rcv_shipment_lines
            WHERE  shipment_line_id = p_shipment_line_id;
Line: 614

             * So instead of using shipment_line_id to delete use
             * shipment_header_id.
            */
            DELETE FROM rcv_serials_supply rss
                  WHERE supply_type_code = 'SHIPMENT'
            AND         (   l_select_serials.lot_number IS NULL
                         OR NVL(lot_num, l_select_serials.lot_number) = l_select_serials.lot_number)
            AND         (serial_num BETWEEN(l_serial_prefix || LPAD(TO_CHAR(l_from_serial_number),
                                                                    l_serial_suffix_length,
                                                                    '0'
                                                                   )) AND(l_serial_prefix || LPAD(TO_CHAR(l_to_serial_number),
                                                                                                  l_serial_suffix_length,
                                                                                                  '0'
                                                                                                 )))
            AND         EXISTS(SELECT 1
                               FROM   rcv_shipment_lines rsl
                               WHERE  rsl.shipment_header_id = l_shipment_header_id
                               AND    rsl.shipment_line_id = rss.shipment_line_id
                               AND    rsl.item_id = l_item_id);
Line: 636

      CLOSE select_serials;
Line: 639

         asn_debug.put_line('Exit insert_rcv_serials_supply ');
Line: 644

            asn_debug.put_line('no_data_found insert_rcv_serials_supply ');
Line: 649

         INSERT INTO po_interface_errors
                     (interface_type,
                      interface_transaction_id,
                      error_message,
                      processing_date,
                      creation_date,
                      created_by,
                      last_update_date,
                      last_updated_by,
                      last_update_login,
                      request_id,
                      program_application_id,
                      program_id,
                      program_update_date
                     )
            SELECT 'RECEIVING',
                   p_interface_transaction_id,
                   'RCV_INSERT_SERIAL_SUPPLY_FAIL',
                   SYSDATE,
                   rti.creation_date,
                   rti.created_by,
                   rti.last_update_date,
                   rti.last_updated_by,
                   rti.last_update_login,
                   rti.request_id,
                   rti.program_application_id,
                   rti.program_id,
                   rti.program_update_date
            FROM   rcv_transactions_interface rti
            WHERE  rti.interface_transaction_id = p_interface_transaction_id;
Line: 681

            asn_debug.put_line('others insert_rcv_serials_supply ');
Line: 686

         INSERT INTO po_interface_errors
                     (interface_type,
                      interface_transaction_id,
                      error_message,
                      processing_date,
                      creation_date,
                      created_by,
                      last_update_date,
                      last_updated_by,
                      last_update_login,
                      request_id,
                      program_application_id,
                      program_id,
                      program_update_date
                     )
            SELECT 'RECEIVING',
                   p_interface_transaction_id,
                   'RCV_INSERT_SERIAL_SUPPLY_ERROR',
                   SYSDATE,
                   rti.creation_date,
                   rti.created_by,
                   rti.last_update_date,
                   rti.last_updated_by,
                   rti.last_update_login,
                   rti.request_id,
                   rti.program_application_id,
                   rti.program_id,
                   rti.program_update_date
            FROM   rcv_transactions_interface rti
            WHERE  rti.interface_transaction_id = p_interface_transaction_id;
Line: 716

   END insert_rcv_serials_supply;
Line: 757

   PROCEDURE update_rcv_lots_supply(
      p_api_version              IN            NUMBER,
      p_init_msg_list            IN            VARCHAR2,
      x_return_status            OUT NOCOPY    VARCHAR2,
      p_interface_transaction_id IN            NUMBER,
      p_transaction_type         IN            VARCHAR2,
      p_shipment_line_id         IN            NUMBER,
      p_source_type_code         IN            VARCHAR2,
      p_parent_supply_id         IN            NUMBER,
      p_correction_type          IN            VARCHAR2
   ) IS
      CURSOR lot_cursor(
         p_interface_id NUMBER
      ) IS

      /* INVCONV , Remove sublot_num as part of new lot model. Punit Kumar */

         /** OPM change Bug# 3061052 add sublot_num **/
         SELECT   mtlt.lot_number,
                  /* INVCONV */
               /*   mtlt.sublot_num, */
                  /* end , INVCONV*/
                  SUM(mtlt.primary_quantity),
                  SUM(mtlt.transaction_quantity),
                  SUM(mtlt.secondary_quantity),
                  rti.shipment_header_id,
                  rti.item_id,
                  rti.unit_of_measure,
                  rti.to_organization_id
         FROM     mtl_transaction_lots_temp mtlt,
                  rcv_transactions_interface rti
         WHERE    product_transaction_id = p_interface_id
         AND      product_code = 'RCV'
         AND      rti.interface_transaction_id = mtlt.product_transaction_id
         GROUP BY mtlt.lot_number,
                 /* INVCONV */
                 /* mtlt.sublot_num, */
                  /* end , INVCONV*/
                  rti.shipment_header_id,
                  rti.shipment_line_id,
                  rti.item_id,
                  rti.unit_of_measure,
                  rti.to_organization_id;
Line: 812

      l_update_shipment_supply      VARCHAR2(1)                                       := 'N';
Line: 829

         SELECT rls.quantity,
                rls.primary_quantity
         FROM   rcv_lots_supply rls
         WHERE  rls.lot_num = l_lot_num
         /* INVCONV*/
         /*
         AND    (   (rls.sublot_num = l_sublot_num)
                 OR (    rls.sublot_num IS NULL
                     AND l_sublot_num IS NULL))
         */
         /* end , INVCONV */
         AND    rls.supply_type_code = 'RECEIVING'
         AND    rls.transaction_id = p_parent_supply_id;
Line: 852

         SELECT rls.quantity,
                rls.primary_quantity,
                rls.shipment_line_id
         FROM   rcv_lots_supply rls
         WHERE  rls.lot_num = l_lot_num
         AND    rls.supply_type_code = 'SHIPMENT'
         AND    EXISTS(SELECT 1
                       FROM   rcv_shipment_lines rsl
                       WHERE  rsl.shipment_header_id = l_shipment_header_id
                       AND    rsl.item_id = l_item_id
                       AND    rsl.shipment_line_id = rls.shipment_line_id);
Line: 864

      l_qty_to_be_updated           NUMBER;
Line: 865

      l_primary_qty_to_be_updated   NUMBER;
Line: 866

      l_secondary_qty_to_be_updated NUMBER;
Line: 879

         asn_debug.put_line('Enter update_rcv_lots_supply ');
Line: 893

       * In this case we do not error nor insert. So return.
      */
      SELECT COUNT(*)
      INTO   l_lot_count
      FROM   mtl_transaction_lots_temp mtlt
      WHERE  mtlt.product_transaction_id = p_interface_transaction_id
      AND    mtlt.product_code = 'RCV';
Line: 909

      /* We need to insert into rcv_lots_supply and
       * rcv_serials_supply table only when we come through ROI
       * or when we come through desktop and have lpn info.
       * We insert lpn_id in rcv_supply. So return if there is
       * a value and validation_flag is N.
      */
      SELECT NVL(validation_flag, 'N')
      INTO   l_validation_flag
      FROM   rcv_transactions_interface
      WHERE  interface_transaction_id = p_interface_transaction_id;
Line: 920

      SELECT NVL(lpn_id, -999)
      INTO   l_lpn_id
      FROM   rcv_supply
      WHERE  supply_source_id = p_parent_supply_id;
Line: 935

      /* When we update rcv_supply, we call this procedure and set
       * the p_correction_type depending upon whether we need to add
       * or subtract supply from rcv_lots_supply.
      */
      IF (p_correction_type = 'POSITIVE') THEN
         l_factor  := -1;
Line: 945

      /* We need to insert or update rcv_lot_supply only when there is
       * already a row existing in rcv_lots_supply for a corresponding
       * row in rcv_supply. If not dont do anything.
      */
      SELECT COUNT(*)
      INTO   l_count
      FROM   rcv_lots_supply
      WHERE  transaction_id = p_parent_supply_id
      AND    supply_type_code = 'RECEIVING';
Line: 963

      SELECT transaction_type,
             organization_id,
             unit_of_measure,
             secondary_unit_of_measure
      INTO   l_parent_trans_type,
             l_organization_id,
             l_parent_uom,
             l_parent_secondary_uom
      FROM   rcv_transactions
      WHERE  transaction_id = p_parent_supply_id;
Line: 974

      /* INVCONV , Update for OPM transactions also. Punit Kumar */

      -- roi enhacements for OPM.bug# 3061052
      -- don't update for OPM transactions.

     /* IF (gml_process_flags.check_process_orgn(p_organization_id    => l_organization_id) = 0) THEN */
         IF (    p_transaction_type = 'CORRECTION'
             AND l_parent_trans_type = 'RECEIVE'
             AND p_source_type_code IN('INVENTORY', 'REQ')) THEN --{
            l_update_shipment_supply  := 'Y';
Line: 988

         asn_debug.put_line('l_update_shipment_supply ' || l_update_shipment_supply);
Line: 989

         asn_debug.put_line(' INVCONV , Update shipment supply for OPM transactions also.');
Line: 999

          l_primary_qty_to_be_updated,
          l_qty_to_be_updated,
          l_secondary_qty_to_be_updated,
          l_shipment_header_id,
          l_item_id,
          l_txn_uom,
          l_to_org_id;
Line: 1011

            asn_debug.put_line('INVCONV, Subllot_num has been removed in update_lot_supply1 ');
Line: 1015

            asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 1016

            asn_debug.put_line('l_secondary_qty_to_be_updated ' || l_secondary_qty_to_be_updated);
Line: 1017

            asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 1024

         /* If there is already a row existing for this lot_num, update
          * the quantity. Else insert a new one since this might be a
          * new lot_num for this transaction. At this point, inventory
          * would have validated these numbers.
         */

         /* INVCONV , Remove sublot_num. Punit Kumar */

         /** OPM change Bug# 3061052 added sublot_num check**/
         SELECT COUNT(*)
         INTO   l_count1
         FROM   rcv_lots_supply
         WHERE  transaction_id = p_parent_supply_id
         AND    lot_num = l_lot_num
         /* INVCONV */
         /*
         AND    (   (sublot_num = l_sublot_num)
                 OR (    sublot_num IS NULL
                     AND l_sublot_num IS NULL))
          */
          /*end , INVCONV*/
         AND    supply_type_code = 'RECEIVING';
Line: 1049

            asn_debug.put_line('INVCONV, Subllot_num has been removed in update_lot_supply2 ');
Line: 1054

               asn_debug.put_line('Before insert_lot_supply  ' || l_count1);
Line: 1057

            insert_lot_supply(p_interface_transaction_id,
                              'RECEIVING',
                              p_parent_supply_id,
                              x_return_status
                             );
Line: 1064

               asn_debug.put_line('After insert_lot_supply  ' || l_count1);
Line: 1069

               asn_debug.put_line('Else update rcv_lots_supply');
Line: 1072

            SELECT MAX(primary_unit_of_measure)
            INTO   l_primary_uom
            FROM   mtl_system_items
            WHERE  mtl_system_items.inventory_item_id = l_item_id
            AND    mtl_system_items.organization_id = l_to_org_id;
Line: 1082

            /* l_qty_to_be_updated shd be in
             * terms of the parent's uom. For
             * shipment supply qty, it must be
             * in terms of uom in rsl.
            */
            IF (l_txn_uom <> l_parent_uom) THEN
               l_qty_to_be_updated  := rcv_transactions_interface_sv.convert_into_correct_qty(l_primary_qty_to_be_updated,
                                                                                              l_primary_uom,
                                                                                              l_item_id,
                                                                                              l_parent_uom
                                                                                             );
Line: 1096

               asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 1098

               asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 1099

               asn_debug.put_line('l_secondary_qty_to_be_updated ' || l_secondary_qty_to_be_updated);
Line: 1105

               asn_debug.put_line('INVCONV, Subllot_num has been removed in update_lot_supply3 ');
Line: 1110

            UPDATE rcv_lots_supply rls
               SET quantity = quantity -(l_qty_to_be_updated * l_factor),
                   primary_quantity = primary_quantity -(l_primary_qty_to_be_updated * l_factor),
                   secondary_quantity = secondary_quantity -(l_secondary_qty_to_be_updated * l_factor)
             WHERE rls.lot_num = l_lot_num
            AND    rls.transaction_id = p_parent_supply_id
            AND    rls.supply_type_code = 'RECEIVING' ;
Line: 1128

            asn_debug.put_line('l_update_shipment_supply ' || l_update_shipment_supply);
Line: 1129

            asn_debug.put_line('INVCONV, Subllot_num has been removed in update_lot_supply4 ');
Line: 1132

         IF (l_update_shipment_supply = 'Y') THEN --{
            SELECT COUNT(*)
            INTO   l_count2
            FROM   rcv_lots_supply
            WHERE  shipment_line_id = p_shipment_line_id
            AND    supply_type_code = 'SHIPMENT'
            AND    lot_num = l_lot_num;
Line: 1147

             * may or may not be a row. Hence get the count and insert
             * a new shipment supply row if there is no row or update
             * if there is already a shipment supply row. For ASNs the
             * shipment lot numbers are just suggestions and users can
             * override those values. Hence update if the lot number
             * already exists. We will delete all the shipment supply
             * from rcv_lot and serial tables when we fully receive
             * the asn in the processor.
            */
            IF (   (    p_correction_type = 'POSITIVE'
                    AND l_count2 >= 1)
                OR (    p_correction_type = 'NEGATIVE'
                    AND l_count2 >= 1)) THEN --{
               /* Bug 3376348.
                * It might happen that the original shipment lines are split
                * into multiple shipment_lines (when lpn has 2 lots for eg).
                * So instead of using shipment_line_id to delete use
                * shipment_header_id.
               */
               SELECT MAX(primary_unit_of_measure)
               INTO   l_primary_uom
               FROM   mtl_system_items
               WHERE  mtl_system_items.inventory_item_id = l_item_id
               AND    mtl_system_items.organization_id = l_to_org_id;
Line: 1172

               /* l_qty_to_be_updated shd be in
                               * terms of the parent's uom. For
                               * shipment supply qty, it must be
                               * in terms of uom in rsl.
                              */
               OPEN shipment_supply_quantity(l_lot_num,
                                             l_shipment_header_id,
                                             l_item_id
                                            );
Line: 1191

                        OR l_primary_qty_to_be_updated = 0;
Line: 1199

                  SELECT unit_of_measure
                  INTO   l_parent_uom
                  FROM   rcv_shipment_lines
                  WHERE  shipment_line_id = l_ship_line_id;
Line: 1209

                     l_qty_to_be_updated  := rcv_transactions_interface_sv.convert_into_correct_qty(l_primary_qty_to_be_updated,
                                                                                                    l_primary_uom,
                                                                                                    l_item_id,
                                                                                                    l_parent_uom
                                                                                                   );
Line: 1216

                  IF (l_rls_primary_qty >= l_primary_qty_to_be_updated) THEN --{
                     IF (g_asn_debug = 'Y') THEN
                        asn_debug.put_line('rls_primary_qty is greater ');
Line: 1219

                        asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 1220

                        asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 1225

                     UPDATE rcv_lots_supply rls
                        SET quantity = quantity -(l_qty_to_be_updated * l_factor),
                            primary_quantity = primary_quantity -(l_primary_qty_to_be_updated * l_factor)
                      WHERE rls.lot_num = l_lot_num
                     AND    shipment_line_id = l_ship_line_id
                     AND    rls.supply_type_code = 'SHIPMENT';
Line: 1232

                     l_qty_to_be_updated          := 0;
Line: 1233

                     l_primary_qty_to_be_updated  := 0;
Line: 1237

                        asn_debug.put_line('l_qty_to_be_updated ' || l_qty_to_be_updated);
Line: 1238

                        asn_debug.put_line('l_primary_qty_to_be_updated ' || l_primary_qty_to_be_updated);
Line: 1243

                     UPDATE rcv_lots_supply rls
                        SET quantity = quantity -(quantity * l_factor),
                            primary_quantity = primary_quantity -(primary_quantity * l_factor)
                      WHERE rls.lot_num = l_lot_num
                     AND    shipment_line_id = l_ship_line_id
                     AND    rls.supply_type_code = 'SHIPMENT';
Line: 1250

                     l_qty_to_be_updated          := l_qty_to_be_updated - l_rls_qty;
Line: 1251

                     l_primary_qty_to_be_updated  := l_primary_qty_to_be_updated - l_rls_primary_qty;
Line: 1261

         select shipment_header_id,item_id
         into l_shipment_header_id,l_item_id
         from rcv_shipment_lines
         where shipment_line_id = p_shipment_line_id;
Line: 1266

         update rcv_lots_supply rls
         set    rls.quantity =
            (select rls.quantity +
                (sum(mtlt.transaction_quantity) * l_factor)
                   from   mtl_transaction_lots_temp mtlt
             where  mtlt.product_transaction_ID =
               p_interface_transaction_id
             and mtlt.product_code = 'RCV'
                  and rls.lot_num =  mtlt.lot_number),
             rls.primary_quantity =
            (select rls.primary_quantity -
             (sum(mtlt.primary_quantity) * l_factor)
            from   mtl_transaction_lots_temp mtlt
            where  mtlt.product_transaction_ID =
               p_interface_transaction_id
             and mtlt.product_code = 'RCV'
            and    rls.lot_num =  mtlt.lot_number)
           where supply_type_code = 'SHIPMENT'
               AND exists (select 1 from rcv_shipment_lines rsl
          where rsl.shipment_header_id = l_shipment_header_id
          and rsl.shipment_line_id = rls.shipment_line_id
               and rsl.item_id = l_item_id)
           and rls.lot_num  = l_lot_num;
Line: 1301

         asn_debug.put_line('Exit update_rcv_lots_supply ');
Line: 1306

            asn_debug.put_line('no_data_found update_rcv_lots_supply ');
Line: 1311

         INSERT INTO po_interface_errors
                     (interface_type,
                      interface_transaction_id,
                      error_message,
                      processing_date,
                      creation_date,
                      created_by,
                      last_update_date,
                      last_updated_by,
                      last_update_login,
                      request_id,
                      program_application_id,
                      program_id,
                      program_update_date
                     )
            SELECT 'RECEIVING',
                   p_interface_transaction_id,
                   'RCV_UPDATE_LOT_SUPPLY_FAIL',
                   SYSDATE,
                   rti.creation_date,
                   rti.created_by,
                   rti.last_update_date,
                   rti.last_updated_by,
                   rti.last_update_login,
                   rti.request_id,
                   rti.program_application_id,
                   rti.program_id,
                   rti.program_update_date
            FROM   rcv_transactions_interface rti
            WHERE  rti.interface_transaction_id = p_interface_transaction_id;
Line: 1343

            asn_debug.put_line('others update_rcv_lots_supply ');
Line: 1348

         INSERT INTO po_interface_errors
                     (interface_type,
                      interface_transaction_id,
                      error_message,
                      processing_date,
                      creation_date,
                      created_by,
                      last_update_date,
                      last_updated_by,
                      last_update_login,
                      request_id,
                      program_application_id,
                      program_id,
                      program_update_date
                     )
            SELECT 'RECEIVING',
                   p_interface_transaction_id,
                   'RCV_UPDATE_LOT_SUPPLY_ERROR',
                   SYSDATE,
                   rti.creation_date,
                   rti.created_by,
                   rti.last_update_date,
                   rti.last_updated_by,
                   rti.last_update_login,
                   rti.request_id,
                   rti.program_application_id,
                   rti.program_id,
                   rti.program_update_date
            FROM   rcv_transactions_interface rti
            WHERE  rti.interface_transaction_id = p_interface_transaction_id;
Line: 1378

   END update_rcv_lots_supply;
Line: 1380

   PROCEDURE update_rcv_serials_supply(
      p_api_version              IN            NUMBER,
      p_init_msg_list            IN            VARCHAR2,
      x_return_status            OUT NOCOPY    VARCHAR2,
      p_interface_transaction_id IN            NUMBER,
      p_transaction_type         IN            VARCHAR2,
      p_shipment_line_id         IN            NUMBER,
      p_source_type_code         IN            VARCHAR2,
      p_parent_supply_id         IN            NUMBER,
      p_correction_type          IN            VARCHAR2
   ) IS
      CURSOR select_serials(
         p_interface_transaction_id NUMBER
      ) IS
         SELECT msnt.fm_serial_number,
                msnt.to_serial_number,
                mtlt.lot_number
         FROM   mtl_serial_numbers_temp msnt,
                mtl_transaction_lots_temp mtlt
         WHERE  msnt.product_transaction_id = p_interface_transaction_id
         AND    msnt.product_code = 'RCV'
         AND    msnt.transaction_temp_id = mtlt.serial_transaction_temp_id(+);
Line: 1403

      l_select_serials         select_serials%ROWTYPE;
Line: 1404

      l_insert_serial          VARCHAR2(1)                                       := 'N';
Line: 1405

      l_delete_serial          VARCHAR2(1)                                       := 'N';
Line: 1417

      l_update_shipment_supply VARCHAR2(1)                                       := 'N';
Line: 1425

         asn_debug.put_line('Enter update_rcv_serials_supply ');
Line: 1439

       * In this case we do not error nor insert. So return.
      */
      SELECT COUNT(*)
      INTO   l_serial_count
      FROM   mtl_serial_numbers_temp msnt
      WHERE  msnt.product_transaction_id = p_interface_transaction_id
      AND    msnt.product_code = 'RCV';
Line: 1455

      /* We need to insert into rcv_lots_supply and
       * rcv_serials_supply table only when we come through ROI
       * or when we come through desktop and have lpn info.
       * We insert lpn_id in rcv_supply. So return if there is
       * a value and validation_flag is N.
      */
      SELECT NVL(validation_flag, 'N')
      INTO   l_validation_flag
      FROM   rcv_transactions_interface
      WHERE  interface_transaction_id = p_interface_transaction_id;
Line: 1466

      SELECT NVL(lpn_id, -999)
      INTO   l_lpn_id
      FROM   rcv_supply
      WHERE  supply_source_id = p_parent_supply_id;
Line: 1481

      OPEN select_serials(p_interface_transaction_id);
Line: 1483

      /* Correction_type is positive when we need to insert new rows and
       * and will be negative when we need to delete the existing rows.
       * We need to insert new rows only when we already have rows
       * in rcv_serials_supply for the corresponding row in rcv_supply.
      */
      IF (p_correction_type = 'POSITIVE') THEN --{
         SELECT COUNT(*)
         INTO   l_count
         FROM   rcv_serials_supply
         WHERE  transaction_id = p_parent_supply_id
         AND    supply_type_code = 'RECEIVING';
Line: 1496

            l_insert_serial  := 'Y';
Line: 1499

         l_delete_serial  := 'Y';
Line: 1503

         asn_debug.put_line('l_insert_serial ' || l_insert_serial);
Line: 1504

         asn_debug.put_line('l_delete_serial ' || l_delete_serial);
Line: 1507

      SELECT transaction_type
      INTO   l_parent_trans_type
      FROM   rcv_transactions
      WHERE  transaction_id = p_parent_supply_id;
Line: 1515

         l_update_shipment_supply  := 'Y';
Line: 1519

         asn_debug.put_line('l_update_shipment_supply ' || l_update_shipment_supply);
Line: 1523

         FETCH select_serials INTO l_select_serials;
Line: 1524

         EXIT WHEN select_serials%NOTFOUND;
Line: 1525

         split_serial_number(l_select_serials.fm_serial_number,
                             l_serial_prefix,
                             l_from_serial_number
                            );
Line: 1529

         split_serial_number(l_select_serials.to_serial_number,
                             l_serial_prefix,
                             l_to_serial_number
                            );
Line: 1534

         l_serial_num_length  := LENGTH(l_select_serials.fm_serial_number);
Line: 1550

         IF (l_delete_serial = 'Y') THEN --{
            IF (g_asn_debug = 'Y') THEN
               asn_debug.put_line('l_serial_prefix ' || l_serial_prefix);
Line: 1557

            DELETE FROM rcv_serials_supply
                  WHERE transaction_id = p_parent_supply_id
            AND         supply_type_code = 'RECEIVING'
            AND         (   l_select_serials.lot_number IS NULL
                         OR NVL(lot_num, l_select_serials.lot_number) = l_select_serials.lot_number)
            AND         (serial_num BETWEEN(l_serial_prefix || LPAD(TO_CHAR(l_from_serial_number),
                                                                    l_serial_suffix_length,
                                                                    '0'
                                                                   )) AND(l_serial_prefix || LPAD(TO_CHAR(l_to_serial_number),
                                                                                                  l_serial_suffix_length,
                                                                                                  '0'
                                                                                                 )));
Line: 1579

            IF (l_insert_serial = 'Y') THEN --{
               IF (g_asn_debug = 'Y') THEN
                  asn_debug.put_line('Before insert_serial_supply ');
Line: 1584

               insert_serial_supply(p_interface_transaction_id,
                                    l_select_serials.lot_number,
                                    l_cur_serial_number,
                                    'RECEIVING',
                                    p_parent_supply_id,
                                    x_return_status
                                   );
Line: 1593

                  asn_debug.put_line('After insert_serial_supply ');
Line: 1597

            IF (    (l_update_shipment_supply = 'Y')
                AND (l_delete_serial = 'Y')) THEN --{
               IF (g_asn_debug = 'Y') THEN
                  asn_debug.put_line('Before insert_serial_supply  when update and delete serial is Y');
Line: 1603

               insert_serial_supply(p_interface_transaction_id,
                                    l_select_serials.lot_number,
                                    l_cur_serial_number,
                                    'SHIPMENT',
                                    p_parent_supply_id,
                                    x_return_status
                                   );
Line: 1612

                  asn_debug.put_line('After insert_serial_supply  when update and delete serial is Y');
Line: 1617

         IF (    (l_update_shipment_supply = 'Y')
             AND (l_insert_serial = 'Y')) THEN --{
            IF (g_asn_debug = 'Y') THEN
               asn_debug.put_line('Before  delete  when update and insert serial is Y');
Line: 1623

            SELECT shipment_header_id,
                   item_id
            INTO   l_shipment_header_id,
                   l_item_id
            FROM   rcv_shipment_lines
            WHERE  shipment_line_id = p_shipment_line_id;
Line: 1633

             * So instead of using shipment_line_id to delete use
             * shipment_header_id.
            */
            DELETE FROM rcv_serials_supply rss
                  WHERE supply_type_code = 'SHIPMENT'
            AND         (   l_select_serials.lot_number IS NULL
                         OR NVL(lot_num, l_select_serials.lot_number) = l_select_serials.lot_number)
            AND         (serial_num BETWEEN(l_serial_prefix || LPAD(TO_CHAR(l_from_serial_number),
                                                                    l_serial_suffix_length,
                                                                    '0'
                                                                   )) AND(l_serial_prefix || LPAD(TO_CHAR(l_to_serial_number),
                                                                                                  l_serial_suffix_length,
                                                                                                  '0'
                                                                                                 )))
            AND         EXISTS(SELECT 1
                               FROM   rcv_shipment_lines rsl
                               WHERE  rsl.shipment_header_id = l_shipment_header_id
                               AND    rsl.shipment_line_id = rss.shipment_line_id
                               AND    rsl.item_id = l_item_id);
Line: 1654

               asn_debug.put_line('After  delete  when update and insert serial is Y');
Line: 1659

      CLOSE select_serials;
Line: 1663

            asn_debug.put_line('no_data_found update_rcv_serials_supply');
Line: 1668

         INSERT INTO po_interface_errors
                     (interface_type,
                      interface_transaction_id,
                      error_message,
                      processing_date,
                      creation_date,
                      created_by,
                      last_update_date,
                      last_updated_by,
                      last_update_login,
                      request_id,
                      program_application_id,
                      program_id,
                      program_update_date
                     )
            SELECT 'RECEIVING',
                   p_interface_transaction_id,
                   'RCV_UPDATE_SERIAL_SUPPLY_FAIL',
                   SYSDATE,
                   rti.creation_date,
                   rti.created_by,
                   rti.last_update_date,
                   rti.last_updated_by,
                   rti.last_update_login,
                   rti.request_id,
                   rti.program_application_id,
                   rti.program_id,
                   rti.program_update_date
            FROM   rcv_transactions_interface rti
            WHERE  rti.interface_transaction_id = p_interface_transaction_id;
Line: 1700

            asn_debug.put_line('others update_rcv_serials_supply');
Line: 1705

         INSERT INTO po_interface_errors
                     (interface_type,
                      interface_transaction_id,
                      error_message,
                      processing_date,
                      creation_date,
                      created_by,
                      last_update_date,
                      last_updated_by,
                      last_update_login,
                      request_id,
                      program_application_id,
                      program_id,
                      program_update_date
                     )
            SELECT 'RECEIVING',
                   p_interface_transaction_id,
                   'RCV_UPDATE_SERIAL_SUPPLY_ERROR',
                   SYSDATE,
                   rti.creation_date,
                   rti.created_by,
                   rti.last_update_date,
                   rti.last_updated_by,
                   rti.last_update_login,
                   rti.request_id,
                   rti.program_application_id,
                   rti.program_id,
                   rti.program_update_date
            FROM   rcv_transactions_interface rti
            WHERE  rti.interface_transaction_id = p_interface_transaction_id;
Line: 1735

   END update_rcv_serials_supply;
Line: 1737

   PROCEDURE insert_lot_supply(
      p_interface_transaction_id IN            NUMBER,
      p_supply_type_code         IN            VARCHAR2,
      p_supply_source_id         IN            NUMBER,
      x_return_status            OUT NOCOPY    VARCHAR2
   ) IS
      CURSOR c IS
         SELECT rls.ROWID
         FROM   rcv_lots_supply rls
         WHERE  rls.transaction_id = p_supply_source_id;
Line: 1754

         asn_debug.put_line('Enter insert_lots_supply');
Line: 1765

       * In this case we do not error nor insert. So return.
      */
      SELECT COUNT(*)
      INTO   l_lot_count
      FROM   mtl_transaction_lots_temp mtlt
      WHERE  mtlt.product_transaction_id = p_interface_transaction_id
      AND    mtlt.product_code = 'RCV';
Line: 1781

      /* We need to insert into rcv_lots_supply and
       * rcv_serials_supply table only when we come through ROI
       * or when we come through desktop and have lpn info.
       * We insert lpn_id in rcv_supply. So return if there is
       * a value and validation_flag is N.
      */
      SELECT NVL(validation_flag, 'N')
      INTO   l_validation_flag
      FROM   rcv_transactions_interface
      WHERE  interface_transaction_id = p_interface_transaction_id;
Line: 1792

      SELECT NVL(lpn_id, -999)
      INTO   l_lpn_id
      FROM   rcv_supply
      WHERE  supply_source_id = p_supply_source_id;
Line: 1808

      INSERT INTO rcv_lots_supply
                  (supply_type_code,
                   shipment_line_id,
                   transaction_id,
                   last_updated_by,
                   last_update_date,
                   last_update_login,
                   created_by,
                   creation_date,
                   request_id,
                   program_application_id,
                   program_id,
                   program_update_date,
                   lot_num,
                   quantity,
                   primary_quantity,
                   expiration_date,
                   /** OPM change Bug# 3061052**/
                   secondary_quantity,
                   /*INVCONV*/
                   /* sublot_num, */
                   /*end , INVCONV*/
                   reason_code
                  )
         SELECT p_supply_type_code,
                rs.shipment_line_id,
                DECODE(p_supply_type_code,
                       'RECEIVING', rs.supply_source_id,
                       NULL
                      ),
                rs.last_updated_by,
                rs.last_update_date,
                rs.last_update_login,
                rs.created_by,
                rs.creation_date,
                rs.request_id,
                rs.program_application_id,
                rs.program_id,
                SYSDATE,
                mtltview.lot_number,
                mtltview.qty,
                mtltview.primary_qty,
                mtltview.lot_expiration_date,
                mtltview.secondary_qty,
               /*INVCONV*/
              /*  mtltview.sublot_num, */
               /*end , INVCONV*/
                mtltview.reason_code
         FROM   rcv_supply rs,
                (SELECT   SUM(mtlt.transaction_quantity) qty,
                          SUM(mtlt.primary_quantity) primary_qty,
                          SUM(mtlt.secondary_quantity) secondary_qty,
                          mtlt.lot_number,
                          mtlt.lot_expiration_date,
                          mtlt.product_transaction_id,
                          mtlt.product_code,
                          /*INVCONV*/
                         /*  mtlt.sublot_num, */
                           /*end , INVCONV*/
                          mtlt.reason_code
                 FROM     mtl_transaction_lots_temp mtlt
                 GROUP BY mtlt.product_transaction_id,
                          mtlt.lot_number,
                        /*INVCONV*/
                        /*  mtlt.sublot_num, */
                        /*end , INVCONV*/
                          mtlt.lot_expiration_date,
                          mtlt.product_code,
                          mtlt.reason_code) mtltview
         WHERE  (    mtltview.product_transaction_id = p_interface_transaction_id
                 AND mtltview.product_code = 'RCV'
                 AND rs.supply_source_id = p_supply_source_id);
Line: 1882

         asn_debug.put_line('After insert into rcv_lots_supply ');
Line: 1883

         asn_debug.put_line('INVCONV, Subllot_num has been removed in insert_lot_supply1 ');
Line: 1897

         asn_debug.put_line('Exit insert_lots_supply ');
Line: 1902

            asn_debug.put_line('no_data_found insert_lots_supply ');
Line: 1909

            asn_debug.put_line('others insert_lots_supply ');
Line: 1914

   END insert_lot_supply;
Line: 1916

   PROCEDURE insert_serial_supply(
      p_interface_transaction_id IN            NUMBER,
      p_lot_number               IN            VARCHAR2,
      p_serial_number            IN            VARCHAR2,
      p_supply_type_code         IN            VARCHAR2,
      p_supply_source_id         IN            NUMBER,
      x_return_status            OUT NOCOPY    VARCHAR2
   ) IS
      CURSOR c IS
         SELECT rss.ROWID
         FROM   rcv_serials_supply rss
         WHERE  rss.transaction_id = p_supply_source_id;
Line: 1935

         asn_debug.put_line('Enter insert_serial_supply ');
Line: 1948

       * In this case we do not error nor insert. So return.
      */
      SELECT COUNT(*)
      INTO   l_serial_count
      FROM   mtl_serial_numbers_temp msnt
      WHERE  msnt.product_transaction_id = p_interface_transaction_id
      AND    msnt.product_code = 'RCV';
Line: 1964

      /* We need to insert into rcv_lots_supply and
       * rcv_serials_supply table only when we come through ROI
       * or when we come through desktop and have lpn info.
       * We insert lpn_id in rcv_supply. So return if there is
       * a value and validation_flag is N.
      */
      SELECT NVL(validation_flag, 'N')
      INTO   l_validation_flag
      FROM   rcv_transactions_interface
      WHERE  interface_transaction_id = p_interface_transaction_id;
Line: 1975

      SELECT NVL(lpn_id, -999)
      INTO   l_lpn_id
      FROM   rcv_supply
      WHERE  supply_source_id = p_supply_source_id;
Line: 1994

      INSERT INTO rcv_serials_supply
                  (supply_type_code,
                   shipment_line_id,
                   transaction_id,
                   lot_num,
                   serial_num,
                   last_update_date,
                   last_updated_by,
                   creation_date,
                   created_by,
                   last_update_login,
                   request_id,
                   program_application_id,
                   program_id,
                   program_update_date
                  )
         SELECT p_supply_type_code,
                rs.shipment_line_id,
                DECODE(p_supply_type_code,
                       'RECEIVING', rs.supply_source_id,
                       NULL
                      ),
                p_lot_number,
                p_serial_number,
                rs.last_update_date,
                rs.last_updated_by,
                rs.creation_date,
                rs.created_by,
                rs.last_update_login,
                rs.request_id,
                rs.program_application_id,
                rs.program_id,
                rs.program_update_date
         FROM   rcv_supply rs
         WHERE  rs.supply_source_id = p_supply_source_id;
Line: 2031

         asn_debug.put_line(' After insert into rcv_serials_supply');
Line: 2045

         asn_debug.put_line(' Exit insert_serial_supply');
Line: 2050

            asn_debug.put_line(' no_data_found insert_serial_supply');
Line: 2057

            asn_debug.put_line(' others insert_serial_supply');
Line: 2062

   END insert_serial_supply;
Line: 2064

   PROCEDURE insert_lot_transactions(
      p_interface_transaction_id  IN            NUMBER,
      p_lot_context               IN            VARCHAR2,
      p_lot_context_id            IN            NUMBER,
      p_source_transaction_id     IN            NUMBER,
      p_correction_transaction_id IN            NUMBER,
      p_negate_qty                IN            VARCHAR2,
      x_return_status             OUT NOCOPY    VARCHAR2
   ) IS
      l_lot_count       NUMBER;
Line: 2078

         asn_debug.put_line(' enter insert_lot_transactions');
Line: 2092

       * In this case we do not error nor insert. So return.
      */
      SELECT COUNT(*)
      INTO   l_lot_count
      FROM   mtl_transaction_lots_temp mtlt
      WHERE  mtlt.product_transaction_id = p_interface_transaction_id
      AND    mtlt.product_code = 'RCV';
Line: 2106

      INSERT INTO rcv_lot_transactions
                  (lot_transaction_type,
                   shipment_line_id,
                   transaction_id,
                   source_transaction_id,
                   correction_transaction_id,
                   created_by,
                   creation_date,
                   last_updated_by,
                   last_update_date,
                   last_update_login,
                   request_id,
                   program_application_id,
                   program_id,
                   program_update_date,
                   transaction_date,
                   item_id,
                   lot_num,
                   quantity,
                   primary_quantity,
                   expiration_date,
                   /* INVCONV */
                  /* sublot_num, */
                   /* end , INVCONV*/
                   secondary_quantity,
                   reason_code
                  )
         SELECT DECODE(p_lot_context,
                       'CORRECTION', 'TRANSACTION',
                       p_lot_context
                      ),
                rti.shipment_line_id,
                DECODE(p_lot_context,
                       'SHIPMENT', -1,
                       p_lot_context_id
                      ),
                DECODE(p_lot_context,
                       'SHIPMENT', -1,
                       p_source_transaction_id
                      ),
                p_correction_transaction_id,
                rti.created_by,
                rti.creation_date,
                rti.last_updated_by,
                rti.last_update_date,
                rti.last_update_login,
                rti.request_id,
                rti.program_application_id,
                rti.program_id,
                SYSDATE,
                rti.transaction_date,
                rti.item_id,
                mtltview.lot_number,
                DECODE(p_negate_qty,
                       'Y',(mtltview.qty * -1),
                       mtltview.qty
                      ),
                DECODE(p_negate_qty,
                       'Y',(mtltview.primary_qty * -1),
                       mtltview.primary_qty
                      ),
                mtltview.lot_expiration_date,
               /*INVCONV*/
              /*  mtltview.sublot_num, */
               /*end ,INVCONV*/
                mtltview.secondary_qty,
                mtltview.reason_code
         FROM   rcv_transactions_interface rti,
                (SELECT   SUM(mtlt.transaction_quantity) qty,
                          SUM(mtlt.primary_quantity) primary_qty,
                          SUM(mtlt.secondary_quantity) secondary_qty,
                          mtlt.lot_number,
                          mtlt.lot_expiration_date,
                          mtlt.product_transaction_id,
                           /*INVCONV*/
                         /* mtlt.sublot_num, */
                           /*end , INVCONV*/
                          mtlt.reason_code,
                          mtlt.product_code
                 FROM     mtl_transaction_lots_temp mtlt
                 GROUP BY mtlt.product_transaction_id,
                          mtlt.lot_number,
                          mtlt.lot_expiration_date,
                           /* INVCONV*/
                        /*  mtlt.sublot_num, */
                           /*end , INVCONV*/
                          mtlt.reason_code,
                          mtlt.product_code) mtltview
         WHERE  mtltview.product_transaction_id = p_interface_transaction_id
         AND    mtltview.product_code = 'RCV'
         AND    rti.interface_transaction_id = mtltview.product_transaction_id;
Line: 2199

         asn_debug.put_line('Exit insert_lot_transactions ');
Line: 2200

         asn_debug.put_line('INVCONV , sublot_num has not been inserted in rcv_lot_transactions');
Line: 2205

            asn_debug.put_line('no_data_found insert_lot_transactions ');
Line: 2212

            asn_debug.put_line('others insert_lot_transactions ');
Line: 2217

   END insert_lot_transactions;
Line: 2277

                  SELECT NVL(header_interface_id, -999),
                         auto_transact_code,
                         shipment_header_id
                  INTO   l_header_id,
                         l_asn_type,
                         l_ship_id
                  FROM   rcv_transactions_interface
                  WHERE  lpn_group_id = l_lpn_group_id
                  AND    GROUP_ID = DECODE(p_group_id,
                                           0, GROUP_ID,
                                           p_group_id
                                          )
                  AND    ROWNUM < 2;
Line: 2293

               we must delete the shipment_header if it exists
               update the rhi and rti to error for the shipment_headerid */
               IF     l_header_id <> -999
                  AND l_asn_type = 'SHIP' THEN --{
                  IF (g_asn_debug = 'Y') THEN
                     asn_debug.put_line(' This is an ASN');
Line: 2301

                  UPDATE rcv_headers_interface
                     SET processing_status_code = 'ERROR'
                   WHERE header_interface_id = l_header_id;
Line: 2305

                  rcv_roi_preprocessor.update_rti_error(p_group_id               => p_group_id,
                                                        p_interface_id           => NULL,
                                                        p_header_interface_id    => l_header_id,
                                                        p_lpn_group_id           => NULL
                                                       );
Line: 2311

                  /* for non-ASN transactions we should update the corresponding lpn group
                  to error */
                  IF (g_asn_debug = 'Y') THEN
                     asn_debug.put_line(' Before updating rti error');
Line: 2317

                  rcv_roi_preprocessor.update_rti_error(p_group_id               => p_group_id,
                                                        p_interface_id           => NULL,
                                                        p_header_interface_id    => NULL,
                                                        p_lpn_group_id           => l_lpn_group_id
                                                       );