採購接收檢驗入庫程序

CREATE OR REPLACE PACKAGE MEW_PO_RECEIVE_DELIVER_PKG IS

  --採購檢驗包含入庫
  PROCEDURE PO_ACCEPT(RETCODE             OUT NUMBER
                     ,ERRBUF              OUT VARCHAR2
                     ,P_LINE_ID           NUMBER
                     ,P_DELIVER_NUMBER    VARCHAR2
                     ,P_QRCODE_RECORD_ID  NUMBER
                     ,P_ORGANIZATION_ID   NUMBER
                     ,P_INVENTORY_ITEM_ID NUMBER);

  --採購入庫
  PROCEDURE PO_DELIVER(P_LINE_ID           NUMBER
                      ,P_DELIVER_NUMBER    VARCHAR2
                      ,P_QRCODE_RECORD_ID  NUMBER
                      ,P_ORGANIZATION_ID   NUMBER
                      ,P_INVENTORY_ITEM_ID NUMBER);
END;
/
CREATE OR REPLACE PACKAGE BODY MEW_PO_RECEIVE_DELIVER_PKG IS

  --採購檢驗包含入庫
  PROCEDURE PO_ACCEPT(RETCODE             OUT NUMBER
                     ,ERRBUF              OUT VARCHAR2
                     ,P_LINE_ID           NUMBER
                     ,P_DELIVER_NUMBER    VARCHAR2
                     ,P_QRCODE_RECORD_ID  NUMBER
                     ,P_ORGANIZATION_ID   NUMBER
                     ,P_INVENTORY_ITEM_ID NUMBER) IS
 
    L_IFACE_RCV_REC PO.RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
 
    CURSOR C1 IS
      SELECT A.INTERFACE_TRANSACTION_ID
            ,A.GROUP_ID
            ,A.LAST_UPDATE_DATE
            ,A.LAST_UPDATED_BY
            ,A.CREATION_DATE
            ,A.CREATED_BY
            ,A.LAST_UPDATE_LOGIN
            ,A.TRANSACTION_TYPE
            ,A.TRANSACTION_DATE
            ,A.QUANTITY
            ,A.UNIT_OF_MEASURE
            ,A.INTERFACE_SOURCE_CODE
            ,A.SHIPMENT_HEADER_ID
            ,A.SHIPMENT_LINE_ID
            ,A.VENDOR_ID
            ,A.VENDOR_SITE_ID
            ,A.SOURCE_DOCUMENT_CODE
            ,A.PARENT_TRANSACTION_ID
            ,A.PO_HEADER_ID
            ,A.PO_LINE_ID
            ,A.PO_LINE_LOCATION_ID
            ,A.INSPECTION_STATUS_CODE
            ,A.DESTINATION_TYPE_CODE
            ,A.LOCATION_ID
            ,A.DESTINATION_CONTEXT
            ,A.TRANSACTION_ID
            ,A.PO_DISTRIBUTION_ID
            ,RSL.ITEM_ID
            ,RSL.TO_ORGANIZATION_ID
            ,RSL.SHIP_TO_LOCATION_ID
            ,A.QUANTITY -
             MEW_ADI_INV_RECEIVE_PKG.GET_ACCEPTED_QUANTITY(A.TRANSACTION_ID) UNACCEPTED_QTY
            ,A.CURRENCY_CODE
            ,A.CURRENCY_CONVERSION_TYPE
            ,A.CURRENCY_CONVERSION_RATE
            ,A.CURRENCY_CONVERSION_DATE
            ,A.PO_UNIT_PRICE
        FROM RCV_TRANSACTIONS /*_INTERFACE*/     A
            ,RCV_SHIPMENT_HEADERS RSH
            ,RCV_SHIPMENT_LINES   RSL
       WHERE --A.SHIPMENT_HEADER_ID = 1009182
      --comment on 2011-09-08 by sie chenyueyong
      /*RSH.ATTRIBUTE14 = P_LINE_ID
      AND*/
       RSH.ATTRIBUTE15 = P_DELIVER_NUMBER
       AND A.SHIPMENT_HEADER_ID = RSH.SHIPMENT_HEADER_ID
       AND A.SHIPMENT_LINE_ID = RSL.SHIPMENT_LINE_ID
       AND A.TRANSACTION_TYPE = 'RECEIVE'
       AND A.QUANTITY -
       MEW_ADI_INV_RECEIVE_PKG.GET_ACCEPTED_QUANTITY(A.TRANSACTION_ID) > 0;
    V_GROUP_ID           NUMBER;
    V_REQUEST_ID         NUMBER;
    V_WAIT_COMPLETE_FLAG BOOLEAN;
    V_PHASE              VARCHAR2(240);
    V_STATUS             VARCHAR2(240);
    V_DEV_PHASE          VARCHAR2(240);
    V_DEV_STATUS         VARCHAR2(240);
    V_MESSAGE            VARCHAR2(240);
  BEGIN
 
    SELECT PO.RCV_INTERFACE_GROUPS_S.NEXTVAL INTO V_GROUP_ID FROM DUAL;
 
    FOR R1 IN C1
    LOOP
   
      L_IFACE_RCV_REC.LAST_UPDATE_DATE  := SYSDATE;
      L_IFACE_RCV_REC.LAST_UPDATED_BY   := FND_GLOBAL.USER_ID;
      L_IFACE_RCV_REC.CREATION_DATE     := SYSDATE;
      L_IFACE_RCV_REC.CREATED_BY        := FND_GLOBAL.USER_ID;
      L_IFACE_RCV_REC.LAST_UPDATE_LOGIN := -1;
   
      SELECT RCV_TRANSACTIONS_INTERFACE_S.NEXTVAL
        INTO L_IFACE_RCV_REC.INTERFACE_TRANSACTION_ID
        FROM DUAL;
   
      L_IFACE_RCV_REC.SHIPMENT_HEADER_ID      := R1.SHIPMENT_HEADER_ID; --Shipment Header
      L_IFACE_RCV_REC.PROCESSING_STATUS_CODE  := 'INSPECTION';
      L_IFACE_RCV_REC.TRANSACTION_STATUS_CODE := 'INSPECTION';
      L_IFACE_RCV_REC.PROCESSING_MODE_CODE    := 'IMMEDIATE';
   
      L_IFACE_RCV_REC.RECEIPT_SOURCE_CODE := 'VENDOR';
      L_IFACE_RCV_REC.VENDOR_ID           := R1.VENDOR_ID;
      L_IFACE_RCV_REC.VENDOR_SITE_ID      := R1.VENDOR_SITE_ID; --Optional
   
      L_IFACE_RCV_REC.SOURCE_DOCUMENT_CODE := 'PO';
      L_IFACE_RCV_REC.PO_HEADER_ID         := R1.PO_HEADER_ID;
      L_IFACE_RCV_REC.PO_LINE_ID           := R1.PO_LINE_ID;
      L_IFACE_RCV_REC.PO_LINE_LOCATION_ID  := R1.PO_LINE_LOCATION_ID;
   
      L_IFACE_RCV_REC.TRANSACTION_TYPE      := 'ACCEPT'; --交貨時爲DELIER
      L_IFACE_RCV_REC.DESTINATION_TYPE_CODE := 'RECEIVING'; --交貨時爲INVENTORY
      L_IFACE_RCV_REC.SHIPMENT_LINE_ID      := R1.SHIPMENT_LINE_ID;
      L_IFACE_RCV_REC.PARENT_TRANSACTION_ID := R1.TRANSACTION_ID;
      L_IFACE_RCV_REC.PO_DISTRIBUTION_ID    := R1.PO_DISTRIBUTION_ID;
   
      L_IFACE_RCV_REC.ITEM_ID                 := R1.ITEM_ID;
      L_IFACE_RCV_REC.TRANSACTION_DATE        := SYSDATE;
      L_IFACE_RCV_REC.QUANTITY                := R1.UNACCEPTED_QTY;
      L_IFACE_RCV_REC.UNIT_OF_MEASURE         := R1.UNIT_OF_MEASURE; --Not Code
      L_IFACE_RCV_REC.PRIMARY_QUANTITY        := R1.UNACCEPTED_QTY;
      L_IFACE_RCV_REC.PRIMARY_UNIT_OF_MEASURE := R1.UNIT_OF_MEASURE;
      L_IFACE_RCV_REC.TO_ORGANIZATION_ID      := R1.TO_ORGANIZATION_ID;
      L_IFACE_RCV_REC.SHIP_TO_LOCATION_ID     := R1.SHIP_TO_LOCATION_ID;
      L_IFACE_RCV_REC.LOCATION_ID             := R1.SHIP_TO_LOCATION_ID;
      L_IFACE_RCV_REC.INTERFACE_SOURCE_CODE   := 'RCV';
      L_IFACE_RCV_REC.INSPECTION_STATUS_CODE  := 'ACCEPTED';
      L_IFACE_RCV_REC.DESTINATION_CONTEXT     := 'RECEIVING';
   
      L_IFACE_RCV_REC.CURRENCY_CODE            := R1.CURRENCY_CODE; --add on 2011-08-10 by sie chenyueyong
      L_IFACE_RCV_REC.CURRENCY_CONVERSION_TYPE := R1.CURRENCY_CONVERSION_TYPE;
      L_IFACE_RCV_REC.CURRENCY_CONVERSION_RATE := R1.CURRENCY_CONVERSION_RATE;
      L_IFACE_RCV_REC.CURRENCY_CONVERSION_DATE := R1.CURRENCY_CONVERSION_DATE;
      L_IFACE_RCV_REC.PO_UNIT_PRICE            := R1.PO_UNIT_PRICE;
   
      INSERT INTO RCV_TRANSACTIONS_INTERFACE
        (LAST_UPDATE_DATE
        ,LAST_UPDATED_BY
        ,CREATION_DATE
        ,CREATED_BY
        ,LAST_UPDATE_LOGIN
        ,INTERFACE_TRANSACTION_ID
        ,GROUP_ID
        ,SHIPMENT_HEADER_ID
        ,PROCESSING_STATUS_CODE
        ,TRANSACTION_STATUS_CODE
        ,PROCESSING_MODE_CODE
        ,RECEIPT_SOURCE_CODE
        ,VENDOR_ID
        ,VENDOR_SITE_ID
        ,SOURCE_DOCUMENT_CODE
        ,PO_HEADER_ID
        ,PO_LINE_ID
        ,PO_LINE_LOCATION_ID
        ,TRANSACTION_TYPE
        ,DESTINATION_TYPE_CODE
        ,SHIPMENT_LINE_ID
        ,PARENT_TRANSACTION_ID
        ,PO_DISTRIBUTION_ID
        ,ITEM_ID
        ,TRANSACTION_DATE
        ,QUANTITY
        ,UNIT_OF_MEASURE
        ,PRIMARY_QUANTITY
        ,PRIMARY_UNIT_OF_MEASURE
        ,TO_ORGANIZATION_ID
        ,SHIP_TO_LOCATION_ID
        ,LOCATION_ID
        ,INTERFACE_SOURCE_CODE
        ,INSPECTION_STATUS_CODE
        ,DESTINATION_CONTEXT
        ,CURRENCY_CODE
        ,CURRENCY_CONVERSION_TYPE
        ,CURRENCY_CONVERSION_RATE
        ,CURRENCY_CONVERSION_DATE
        ,PO_UNIT_PRICE)
      VALUES
        (L_IFACE_RCV_REC.LAST_UPDATE_DATE
        ,L_IFACE_RCV_REC.LAST_UPDATED_BY
        ,L_IFACE_RCV_REC.CREATION_DATE
        ,L_IFACE_RCV_REC.CREATED_BY
        ,L_IFACE_RCV_REC.LAST_UPDATE_LOGIN
        ,L_IFACE_RCV_REC.INTERFACE_TRANSACTION_ID
        ,V_GROUP_ID
        ,L_IFACE_RCV_REC.SHIPMENT_HEADER_ID
        ,L_IFACE_RCV_REC.PROCESSING_STATUS_CODE
        ,L_IFACE_RCV_REC.TRANSACTION_STATUS_CODE
        ,L_IFACE_RCV_REC.PROCESSING_MODE_CODE
        ,L_IFACE_RCV_REC.RECEIPT_SOURCE_CODE
        ,L_IFACE_RCV_REC.VENDOR_ID
        ,L_IFACE_RCV_REC.VENDOR_SITE_ID
        ,L_IFACE_RCV_REC.SOURCE_DOCUMENT_CODE
        ,L_IFACE_RCV_REC.PO_HEADER_ID
        ,L_IFACE_RCV_REC.PO_LINE_ID
        ,L_IFACE_RCV_REC.PO_LINE_LOCATION_ID
        ,L_IFACE_RCV_REC.TRANSACTION_TYPE
        ,L_IFACE_RCV_REC.DESTINATION_TYPE_CODE
        ,L_IFACE_RCV_REC.SHIPMENT_LINE_ID
        ,L_IFACE_RCV_REC.PARENT_TRANSACTION_ID
        ,L_IFACE_RCV_REC.PO_DISTRIBUTION_ID
        ,L_IFACE_RCV_REC.ITEM_ID
        ,L_IFACE_RCV_REC.TRANSACTION_DATE
        ,L_IFACE_RCV_REC.QUANTITY
        ,L_IFACE_RCV_REC.UNIT_OF_MEASURE
        ,L_IFACE_RCV_REC.PRIMARY_QUANTITY
        ,L_IFACE_RCV_REC.PRIMARY_UNIT_OF_MEASURE
        ,L_IFACE_RCV_REC.TO_ORGANIZATION_ID
        ,L_IFACE_RCV_REC.SHIP_TO_LOCATION_ID
        ,L_IFACE_RCV_REC.LOCATION_ID
        ,L_IFACE_RCV_REC.INTERFACE_SOURCE_CODE
        ,L_IFACE_RCV_REC.INSPECTION_STATUS_CODE
        ,L_IFACE_RCV_REC.DESTINATION_CONTEXT
        ,L_IFACE_RCV_REC.CURRENCY_CODE
        ,L_IFACE_RCV_REC.CURRENCY_CONVERSION_TYPE
        ,L_IFACE_RCV_REC.CURRENCY_CONVERSION_RATE
        ,L_IFACE_RCV_REC.CURRENCY_CONVERSION_DATE
        ,L_IFACE_RCV_REC.PO_UNIT_PRICE);
   
    END LOOP;
 
    V_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('PO'
                                              ,'RVCTP'
                                              ,'接收事務處理處理器'
                                              ,TO_CHAR(SYSDATE
                                                      ,'dd-mon-yy hh:mi:ss')
                                              ,FALSE
                                              ,'IMMEDIATE'
                                              , --Start Date
                                               V_GROUP_ID
                                              ,CHR(0)
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,'');
    COMMIT;
 
    IF V_REQUEST_ID > 0
    THEN
      LOOP
        V_WAIT_COMPLETE_FLAG := FND_CONCURRENT.WAIT_FOR_REQUEST(REQUEST_ID => V_REQUEST_ID
                                                               ,INTERVAL   => 10
                                                               ,MAX_WAIT   => 0
                                                               ,PHASE      => V_PHASE
                                                               ,STATUS     => V_STATUS
                                                               ,DEV_PHASE  => V_DEV_PHASE
                                                               ,DEV_STATUS => V_DEV_STATUS
                                                               ,MESSAGE    => V_MESSAGE);
        EXIT WHEN V_DEV_PHASE = 'COMPLETE';
      END LOOP;
   
    END IF;
 
    PO_DELIVER(P_LINE_ID
              ,P_DELIVER_NUMBER
              ,P_QRCODE_RECORD_ID
              ,P_ORGANIZATION_ID
              ,P_INVENTORY_ITEM_ID);
 
    COMMIT;
 
  END;

  --採購入庫
  PROCEDURE PO_DELIVER(P_LINE_ID           NUMBER
                      ,P_DELIVER_NUMBER    VARCHAR2
                      ,P_QRCODE_RECORD_ID  NUMBER
                      ,P_ORGANIZATION_ID   NUMBER
                      ,P_INVENTORY_ITEM_ID NUMBER) IS
 
    L_IFACE_RCV_REC PO.RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
 
    CURSOR C1 IS
      SELECT A.INTERFACE_TRANSACTION_ID
            ,A.GROUP_ID
            ,A.LAST_UPDATE_DATE
            ,A.LAST_UPDATED_BY
            ,A.CREATION_DATE
            ,A.CREATED_BY
            ,A.LAST_UPDATE_LOGIN
            ,A.TRANSACTION_TYPE
            ,A.TRANSACTION_DATE
            ,A.QUANTITY
            ,A.UNIT_OF_MEASURE
            ,A.INTERFACE_SOURCE_CODE
            ,A.SHIPMENT_HEADER_ID
            ,A.SHIPMENT_LINE_ID
            ,A.VENDOR_ID
            ,A.VENDOR_SITE_ID
            ,A.SOURCE_DOCUMENT_CODE
            ,A.PARENT_TRANSACTION_ID
            ,A.PO_HEADER_ID
            ,A.PO_LINE_ID
            ,A.PO_LINE_LOCATION_ID
            ,A.INSPECTION_STATUS_CODE
            ,A.DESTINATION_TYPE_CODE
            ,A.LOCATION_ID
            ,A.DESTINATION_CONTEXT
            ,A.TRANSACTION_ID
            ,RSL.PO_DISTRIBUTION_ID
            ,RSL.ITEM_ID
            ,RSL.TO_ORGANIZATION_ID
            ,RSL.SHIP_TO_LOCATION_ID
            ,A.QUANTITY -
             MEW_ADI_INV_RECEIVE_PKG.GET_DELIVERED_QUANTITY(A.TRANSACTION_ID) QTY_UNDELIVERED
            
            ,A.CURRENCY_CODE
            ,A.CURRENCY_CONVERSION_TYPE
            ,A.CURRENCY_CONVERSION_RATE
            ,A.CURRENCY_CONVERSION_DATE
            ,A.PO_UNIT_PRICE
        FROM RCV_TRANSACTIONS     A
            ,RCV_SHIPMENT_HEADERS RSH
            ,RCV_SHIPMENT_LINES   RSL
       WHERE A.SHIPMENT_HEADER_ID = RSH.SHIPMENT_HEADER_ID
         AND A.SHIPMENT_LINE_ID = RSL.SHIPMENT_LINE_ID
         AND A.TRANSACTION_TYPE = 'ACCEPT'
            --comment on 2011-09-08 by sie chenyueyong
            -- AND RSH.ATTRIBUTE14 = P_LINE_ID
         AND RSH.ATTRIBUTE15 = P_DELIVER_NUMBER
         AND A.QUANTITY -
             MEW_ADI_INV_RECEIVE_PKG.GET_DELIVERED_QUANTITY(A.TRANSACTION_ID) > 0;
 
    V_DISTRIBUTION_ID      NUMBER;
    V_RECEIVING_ROUTING_ID NUMBER;
    V_QRCODE_RECORD_ID     NUMBER;
    V_SUBINVENTORY_CODE    VARCHAR2(30);
    V_GROUP_ID             NUMBER;
    V_REQUEST_ID           NUMBER;
  BEGIN
    SELECT PO.RCV_INTERFACE_GROUPS_S.NEXTVAL INTO V_GROUP_ID FROM DUAL;
    FOR R1 IN C1
    LOOP
      L_IFACE_RCV_REC.LAST_UPDATE_DATE  := SYSDATE;
      L_IFACE_RCV_REC.LAST_UPDATED_BY   := FND_GLOBAL.USER_ID;
      L_IFACE_RCV_REC.CREATION_DATE     := SYSDATE;
      L_IFACE_RCV_REC.CREATED_BY        := FND_GLOBAL.USER_ID;
      L_IFACE_RCV_REC.LAST_UPDATE_LOGIN := -1;
   
      SELECT RCV_TRANSACTIONS_INTERFACE_S.NEXTVAL
        INTO L_IFACE_RCV_REC.INTERFACE_TRANSACTION_ID
        FROM DUAL;
   
      L_IFACE_RCV_REC.SHIPMENT_HEADER_ID      := R1.SHIPMENT_HEADER_ID; --Shipment Header
      L_IFACE_RCV_REC.PROCESSING_STATUS_CODE  := 'PENDING';
      L_IFACE_RCV_REC.TRANSACTION_STATUS_CODE := 'PENDING';
      L_IFACE_RCV_REC.PROCESSING_MODE_CODE    := 'IMMEDIATE';
   
      L_IFACE_RCV_REC.RECEIPT_SOURCE_CODE := 'VENDOR';
      L_IFACE_RCV_REC.VENDOR_ID           := R1.VENDOR_ID;
      L_IFACE_RCV_REC.VENDOR_SITE_ID      := R1.VENDOR_SITE_ID; --Optional
   
      L_IFACE_RCV_REC.SOURCE_DOCUMENT_CODE := 'PO';
      L_IFACE_RCV_REC.PO_HEADER_ID         := R1.PO_HEADER_ID;
      L_IFACE_RCV_REC.PO_LINE_ID           := R1.PO_LINE_ID;
      L_IFACE_RCV_REC.PO_LINE_LOCATION_ID  := R1.PO_LINE_LOCATION_ID;
   
      L_IFACE_RCV_REC.TRANSACTION_TYPE      := 'DELIVER'; --交貨時爲DELIER
      L_IFACE_RCV_REC.AUTO_TRANSACT_CODE    := NULL;
      L_IFACE_RCV_REC.DESTINATION_TYPE_CODE := 'INVENTORY'; --交貨時爲INVENTORY
      L_IFACE_RCV_REC.SHIPMENT_LINE_ID      := R1.SHIPMENT_LINE_ID;
      L_IFACE_RCV_REC.PARENT_TRANSACTION_ID := R1.TRANSACTION_ID;
   
      L_IFACE_RCV_REC.ITEM_ID                 := R1.ITEM_ID;
      L_IFACE_RCV_REC.TRANSACTION_DATE        := SYSDATE;
      L_IFACE_RCV_REC.QUANTITY                := R1.QTY_UNDELIVERED;
      L_IFACE_RCV_REC.UNIT_OF_MEASURE         := R1.UNIT_OF_MEASURE; --Not Code
      L_IFACE_RCV_REC.PRIMARY_QUANTITY        := R1.QTY_UNDELIVERED;
      L_IFACE_RCV_REC.PRIMARY_UNIT_OF_MEASURE := R1.UNIT_OF_MEASURE;
      L_IFACE_RCV_REC.TO_ORGANIZATION_ID      := R1.TO_ORGANIZATION_ID;
   
      L_IFACE_RCV_REC.INTERFACE_SOURCE_CODE  := 'RCV';
      L_IFACE_RCV_REC.INSPECTION_STATUS_CODE := 'ACCEPTED';
      L_IFACE_RCV_REC.DESTINATION_CONTEXT    := 'INVENTORY';
   
      L_IFACE_RCV_REC.CURRENCY_CODE            := R1.CURRENCY_CODE; --add on 2011-08-10 by sie chenyueyong
      L_IFACE_RCV_REC.CURRENCY_CONVERSION_TYPE := R1.CURRENCY_CONVERSION_TYPE;
      L_IFACE_RCV_REC.CURRENCY_CONVERSION_RATE := R1.CURRENCY_CONVERSION_RATE;
      L_IFACE_RCV_REC.CURRENCY_CONVERSION_DATE := R1.CURRENCY_CONVERSION_DATE;
      L_IFACE_RCV_REC.PO_UNIT_PRICE            := R1.PO_UNIT_PRICE;
   
      SELECT PLLA.RECEIVING_ROUTING_ID
        INTO V_RECEIVING_ROUTING_ID
        FROM PO_LINE_LOCATIONS_ALL PLLA
       WHERE PLLA.LINE_LOCATION_ID = R1.PO_LINE_LOCATION_ID;
   
      --   IF V_RECEIVING_ROUTING_ID = 3
      -- THEN
      BEGIN
        SELECT MDP.QRCODE_RECORD_ID
          INTO V_QRCODE_RECORD_ID
          FROM MEW_DELIVERY_PLAN_DETAILS MDP
         WHERE MDP.HEADER_ID = P_QRCODE_RECORD_ID
           AND MDP.INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID
           AND ROWNUM = 1;
     
        SELECT ORACLE_SUBINVENTORY_CODE
          INTO V_SUBINVENTORY_CODE
          FROM MEW_QRCODE_DEFINITIONS_B MQB
         WHERE MQB.RECORD_ID = V_QRCODE_RECORD_ID;
     
      EXCEPTION
        WHEN NO_DATA_FOUND THEN
          BEGIN
            SELECT SUBINVENTORY_CODE
              INTO V_SUBINVENTORY_CODE
              FROM MTL_ITEM_SUB_DEFAULTS MID
             WHERE ORGANIZATION_ID = P_ORGANIZATION_ID
               AND MID.DEFAULT_TYPE = 2
               AND INVENTORY_ITEM_ID = P_INVENTORY_ITEM_ID;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN
              ROLLBACK;
              RAISE_APPLICATION_ERROR(-20001
                                     ,'當前物料未設置默認接收子庫');
          END;
      END;
      -- END IF;
   
      L_IFACE_RCV_REC.SUBINVENTORY := V_SUBINVENTORY_CODE;
   
      SELECT PO_DISTRIBUTION_ID
        INTO V_DISTRIBUTION_ID
        FROM PO_DISTRIBUTIONS_ALL
       WHERE LINE_LOCATION_ID = R1.PO_LINE_LOCATION_ID;
   
      L_IFACE_RCV_REC.PO_DISTRIBUTION_ID := V_DISTRIBUTION_ID; --R1.PO_DISTRIBUTION_ID;
   
      INSERT INTO RCV_TRANSACTIONS_INTERFACE
        (LAST_UPDATE_DATE
        ,LAST_UPDATED_BY
        ,CREATION_DATE
        ,CREATED_BY
        ,LAST_UPDATE_LOGIN
        ,INTERFACE_TRANSACTION_ID
        ,GROUP_ID
        ,SHIPMENT_HEADER_ID
        ,PROCESSING_STATUS_CODE
        ,TRANSACTION_STATUS_CODE
        ,PROCESSING_MODE_CODE
        ,RECEIPT_SOURCE_CODE
        ,VENDOR_ID
        ,VENDOR_SITE_ID
        ,SOURCE_DOCUMENT_CODE
        ,PO_HEADER_ID
        ,PO_LINE_ID
        ,PO_LINE_LOCATION_ID
        ,TRANSACTION_TYPE
        ,AUTO_TRANSACT_CODE
        ,DESTINATION_TYPE_CODE
        ,SHIPMENT_LINE_ID
        ,PARENT_TRANSACTION_ID
        ,PO_DISTRIBUTION_ID
        ,ITEM_ID
        ,TRANSACTION_DATE
        ,QUANTITY
        ,UNIT_OF_MEASURE
        ,PRIMARY_QUANTITY
        ,PRIMARY_UNIT_OF_MEASURE
        ,TO_ORGANIZATION_ID
        ,INTERFACE_SOURCE_CODE
        ,INSPECTION_STATUS_CODE
        ,DESTINATION_CONTEXT
        ,SUBINVENTORY
        ,CURRENCY_CODE
        ,CURRENCY_CONVERSION_TYPE
        ,CURRENCY_CONVERSION_RATE
        ,CURRENCY_CONVERSION_DATE
        ,PO_UNIT_PRICE)
      VALUES
        (L_IFACE_RCV_REC.LAST_UPDATE_DATE
        ,L_IFACE_RCV_REC.LAST_UPDATED_BY
        ,L_IFACE_RCV_REC.CREATION_DATE
        ,L_IFACE_RCV_REC.CREATED_BY
        ,L_IFACE_RCV_REC.LAST_UPDATE_LOGIN
        ,L_IFACE_RCV_REC.INTERFACE_TRANSACTION_ID
        ,V_GROUP_ID
        ,L_IFACE_RCV_REC.SHIPMENT_HEADER_ID
        ,L_IFACE_RCV_REC.PROCESSING_STATUS_CODE
        ,L_IFACE_RCV_REC.TRANSACTION_STATUS_CODE
        ,L_IFACE_RCV_REC.PROCESSING_MODE_CODE
        ,L_IFACE_RCV_REC.RECEIPT_SOURCE_CODE
        ,L_IFACE_RCV_REC.VENDOR_ID
        ,L_IFACE_RCV_REC.VENDOR_SITE_ID
        ,L_IFACE_RCV_REC.SOURCE_DOCUMENT_CODE
        ,L_IFACE_RCV_REC.PO_HEADER_ID
        ,L_IFACE_RCV_REC.PO_LINE_ID
        ,L_IFACE_RCV_REC.PO_LINE_LOCATION_ID
        ,L_IFACE_RCV_REC.TRANSACTION_TYPE
        ,L_IFACE_RCV_REC.AUTO_TRANSACT_CODE
        ,L_IFACE_RCV_REC.DESTINATION_TYPE_CODE
        ,L_IFACE_RCV_REC.SHIPMENT_LINE_ID
        ,L_IFACE_RCV_REC.PARENT_TRANSACTION_ID
        ,L_IFACE_RCV_REC.PO_DISTRIBUTION_ID
        ,L_IFACE_RCV_REC.ITEM_ID
        ,L_IFACE_RCV_REC.TRANSACTION_DATE
        ,L_IFACE_RCV_REC.QUANTITY
        ,L_IFACE_RCV_REC.UNIT_OF_MEASURE
        ,L_IFACE_RCV_REC.PRIMARY_QUANTITY
        ,L_IFACE_RCV_REC.PRIMARY_UNIT_OF_MEASURE
        ,L_IFACE_RCV_REC.TO_ORGANIZATION_ID
        ,L_IFACE_RCV_REC.INTERFACE_SOURCE_CODE
        ,L_IFACE_RCV_REC.INSPECTION_STATUS_CODE
        ,L_IFACE_RCV_REC.DESTINATION_CONTEXT
        ,L_IFACE_RCV_REC.SUBINVENTORY
        ,L_IFACE_RCV_REC.CURRENCY_CODE
        ,L_IFACE_RCV_REC.CURRENCY_CONVERSION_TYPE
        ,L_IFACE_RCV_REC.CURRENCY_CONVERSION_RATE
        ,L_IFACE_RCV_REC.CURRENCY_CONVERSION_DATE
        ,L_IFACE_RCV_REC.PO_UNIT_PRICE);
   
    --INSERT INTO PO.RCV_TRANSACTIONS_INTERFACE VALUES L_IFACE_RCV_REC;
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('GROUP_ID: ' || V_GROUP_ID);
    V_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('PO'
                                              ,'RVCTP'
                                              ,'接收事務處理處理器'
                                              ,TO_CHAR(SYSDATE
                                                      ,'dd-mon-yy hh:mi:ss')
                                              ,FALSE
                                              ,'IMMEDIATE'
                                              , --Start Date
                                               V_GROUP_ID
                                              ,CHR(0)
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,''
                                              ,'');
    COMMIT;
    --DBMS_OUTPUT.PUT_LINE('group_id:' || L_IFACE_RCV_REC.GROUP_ID);
 
  END;

END;
/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章