子库转移 杂项出入库脚本

--Subinventory Transfer

  BEGIN
    SELECT OP.ACCT_PERIOD_ID
      INTO V_ACCT_PERIOD_ID
      FROM ORG_ACCT_PERIODS OP
     WHERE OP.ORGANIZATION_ID = :PARAMETER.ORG_ID
       AND SYSDATE BETWEEN OP.PERIOD_START_DATE AND OP.SCHEDULE_CLOSE_DATE;
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      MESSAGE_ERROR(SQLERRM || '未找到ACCT_PERIOD_ID');
  END;

      INSERT INTO MTL_TRANSACTIONS_INTERFACE
        (TRANSACTION_INTERFACE_ID
        ,SOURCE_CODE
        ,SOURCE_LINE_ID
        ,SOURCE_HEADER_ID
        ,PROCESS_FLAG
        ,TRANSACTION_MODE
        ,LOCK_FLAG
        ,INVENTORY_ITEM_ID
        ,ORGANIZATION_ID
        ,TRANSACTION_QUANTITY
        ,PRIMARY_QUANTITY
        ,TRANSACTION_UOM
        ,TRANSACTION_DATE
        ,SUBINVENTORY_CODE
        ,TRANSFER_SUBINVENTORY
        ,TRANSACTION_TYPE_ID
        ,TRANSACTION_ACTION_ID
        ,TRANSACTION_SOURCE_TYPE_ID
        ,TRANSACTION_REFERENCE --参考
        ,CREATED_BY
        ,CREATION_DATE
        ,LAST_UPDATED_BY
        ,LAST_UPDATE_DATE
        ,ACCT_PERIOD_ID)
      VALUES
        (MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL --transaction_interface_id
        ,'SubInv Transfer' --source_code
        ,:EDI_TRANS.LINE_ID --source_line_id
        ,-1 --source_header_id
        ,1 --process_flag
        ,3 --transaction_mode
        ,2 --lock_flag
        ,:EDI_TRANS.INVENTORY_ITEM_ID --inventory_item_id
        ,:EDI_TRANS.ORGANIZATION_ID --organization_id
        ,:EDI_TRANS.TRANSFER_QTY1 --transaction_quantity
        ,:EDI_TRANS.TRANSFER_QTY1 --primary_quantity
        ,:EDI_TRANS.PRIMARY_UOM_CODE --transaction_uom
        ,SYSDATE
        ,:EDI_TRANS.FROM_SUBINV
        ,:EDI_TRANS.TO_SUBINV1
        ,2 --transaction_type_id
        ,2 --TRANSACTION_ACTION_ID
        ,13 --TRANSACTION_SOURCE_TYPE_ID
        ,:EDI_TRANS.RECEIPT_NUMBER
        ,FND_GLOBAL.USER_ID
        ,SYSDATE
        ,FND_GLOBAL.USER_ID
        ,SYSDATE
        ,V_ACCT_PERIOD_ID);

 

--此请求系统定时运行,可手动提交

    V_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST(APPLICATION => 'INV'
                                              ,PROGRAM     => 'INCTCM'
                                              ,DESCRIPTION => '处理事务处理接口'
                                              ,START_TIME  => TO_CHAR(SYSDATE
                                                                     ,'yyyy/mm/dd hh24:mi:ss')
                                              ,SUB_REQUEST => FALSE);

--接口处理错误信息查询

        SELECT MTI.ERROR_EXPLANATION
          INTO V_ERROR_EXPLANATION
          FROM MTL_TRANSACTIONS_INTERFACE MTI
         WHERE MTI.TRANSACTION_REFERENCE = P_TRANSACTION_REFERENCE
           AND MTI.SOURCE_CODE = 'SubInv Transfer'
           AND MTI.SOURCE_HEADER_ID = -1
           AND MTI.ERROR_CODE IS NOT NULL

--杂项出库

PROCEDURE MISCELLANEOUS_ISSUE IS

  V_INVENTORY_ITEM_CODE        VARCHAR2(30);
  V_PRIMARY_UOM_CODE           VARCHAR2(30);
  V_SUBINVENTORY_CODE          VARCHAR2(30);
  V_INVENTORY_LOCATION_ID      NUMBER;
  V_TRANSACTION_TYPE_ID        NUMBER;
  V_TRANSACTION_ACTION_ID      NUMBER;
  V_TRANSACTION_SOURCE_TYPE_ID NUMBER;
  v_transaction_source_id number;
 
BEGIN
  SELECT INVENTORY_ITEM_CODE
        ,PRIMARY_UOM_CODE
    INTO V_INVENTORY_ITEM_CODE
        ,V_PRIMARY_UOM_CODE
    FROM CUX_MTL_SYSTEM_ITEMS_V
   WHERE INVENTORY_ITEM_ID = :SCRAP_LINES.MOULD_ITEM_ID
     AND ORGANIZATION_ID = :PARAMETER.ORG_ID;

  SELECT SUBINVENTORY_CODE
        ,INVENTORY_LOCATION_ID
    INTO V_SUBINVENTORY_CODE
        ,V_INVENTORY_LOCATION_ID
    FROM MTL_ITEM_LOCATIONS
   WHERE INVENTORY_LOCATION_ID =
         (SELECT CURRENT_LOCATION_ID
            FROM CUX_MOD_MOULD_INFO
           WHERE MOULD_ITEM_ID = :SCRAP_LINES.MOULD_ITEM_ID
             AND ORGANIZATION_ID = :PARAMETER.ORG_ID)
     AND ORGANIZATION_ID = :PARAMETER.ORG_ID;

SELECT DISPOSITION_ID into v_transaction_source_id
            FROM MTL_GENERIC_DISPOSITIONS
           WHERE SEGMENT1 = 'M.模具报废出库'
             AND ORGANIZATION_ID = :PARAMETER.ORG_ID;
  BEGIN
    INSERT INTO MTL_TRANSACTIONS_INTERFACE
      (TRANSACTION_INTERFACE_ID
      ,SOURCE_CODE
      ,SOURCE_LINE_ID
      ,SOURCE_HEADER_ID
      ,PROCESS_FLAG
      ,TRANSACTION_MODE
      ,LOCK_FLAG
      ,INVENTORY_ITEM_ID
      ,ITEM_SEGMENT1
      ,ORGANIZATION_ID
      ,TRANSACTION_QUANTITY
      ,PRIMARY_QUANTITY
      ,TRANSACTION_UOM
      ,TRANSACTION_DATE
      ,SUBINVENTORY_CODE
      ,TRANSFER_SUBINVENTORY
      ,LOCATOR_ID
      ,TRANSFER_LOCATOR
      ,TRANSACTION_TYPE_ID
      ,TRANSACTION_ACTION_ID
      ,TRANSACTION_SOURCE_TYPE_ID
      ,TRANSACTION_SOURCE_ID
      ,TRANSACTION_SOURCE_NAME --来源
      ,TRANSACTION_REFERENCE --参考
      ,CREATED_BY
      ,CREATION_DATE
      ,LAST_UPDATED_BY
      ,LAST_UPDATE_DATE)
    VALUES
      (MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL --transaction_interface_id
      ,'Miscellaneous Issue' --source_code
      ,-1 --source_line_id
      ,-1 --source_header_id
      ,1 --process_flag
      ,3 --transaction_mode
      ,2 --lock_flag
      ,:SCRAP_LINES.MOULD_ITEM_ID --inventory_item_id
      ,V_INVENTORY_ITEM_CODE --item_segment1
      ,:PARAMETER.ORG_ID --organization_id
      ,-1 --transaction_quantity
      ,-1 --primary_quantity
      ,V_PRIMARY_UOM_CODE --transaction_uom
      ,SYSDATE
      ,V_SUBINVENTORY_CODE
      ,NULL --:CUX_LOC.TRANSFER_SUBINV_CODE
      ,V_INVENTORY_LOCATION_ID
      ,NULL --:CUX_LOC.TRANSFER_LOCATION_ID
      ,31--transaction_type_id
      ,1 --TRANSACTION_ACTION_ID
      ,6--TRANSACTION_SOURCE_TYPE_ID
      ,v_transaction_source_id --TRANSACTION_SOURCE_ID
      ,'M.模具报废出库' --TRANSACTION_SOURCE_NAME
      ,:SCRAP_HEADERS.MOULD_SCRAP_NUMBER
      ,FND_GLOBAL.USER_ID
      ,SYSDATE
      ,FND_GLOBAL.USER_ID
      ,SYSDATE);
  EXCEPTION
    WHEN OTHERS THEN
      MESSAGE_ERROR('数据插入事务处理接口失败:' || SQLERRM);
  END;
  UPDATE CUX_MOD_MOULD_INFO
     SET CURRENT_LOCATION_ID = NULL,
        SCRAPPED_REASON = :SCRAP_LINES.MOULD_SCRAP_REASON,
        SCRAPPED_DATE = :SCRAP_LINES.MOULD_SCRAP_DATE
  WHERE  ORGANIZATION_ID = :PARAMETER.ORG_ID
    AND  MOULD_NUMBER = :SCRAP_LINES.MOULD_NUMBER;
END;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值