zoukankan      html  css  js  c++  java
  • bapi_goodsmvt_create-GR

    BAPI_GOODSMVT_CREATE 使用方法
    
    * GMCODE Table T158G - 01 - MB01 - Goods Receipts for Purchase Order
    *                      02 - MB31 - Goods Receipts for Prod Order
    *                      03 - MB1A - Goods Issue
    *                      04 - MB1B - Transfer Posting
    *                      05 - MB1C - Enter Other Goods Receipt
    *                      06 - MB11
    *
    * Domain: KZBEW - Movement Indicator
    *      Goods movement w/o reference
    *  B - Goods movement for purchase order
    *  F - Goods movement for production order
    *  L - Goods movement for delivery note
    *  K - Goods movement for kanban requirement (WM - internal only)
    *  O - Subsequent adjustment of "material-provided" consumption
    *  W - Subsequent adjustment of proportion/product unit material

    实例1-(Z01MMR0901 批量创建物料凭证  ):

      DATA: LS_GOODSMVT_HEADER TYPE BAPI2017_GM_HEAD_01,
            LS_GOODSMVT_CODE   TYPE BAPI2017_GM_CODE,
    *        lv_materialdocument TYPE bapi2017_gm_head_ret-mat_doc,
            LV_MATDOCUMENTYEAR TYPE BAPI2017_GM_HEAD_RET-DOC_YEAR,
            LT_GOODSMVT_ITEM   TYPE TABLE OF BAPI2017_GM_ITEM_CREATE,
            LS_GOODSMVT_ITEM   TYPE BAPI2017_GM_ITEM_CREATE,
            LT_RETURN          TYPE TABLE OF BAPIRET2,
            LS_RETURN          TYPE BAPIRET2,
            LS_OUTPUT          TYPE TY_UPLOAD.
      DATA: LV_MATERIALDOCUMENT TYPE MBLNR,
            LV_MESSAGE          TYPE CHAR255.
    
    *抬头部分给值:
    
      LS_GOODSMVT_HEADER-PSTNG_DATE = SY-DATUM.
      LS_GOODSMVT_HEADER-DOC_DATE = SY-DATUM.
      LS_GOODSMVT_HEADER-PR_UNAME = SY-UNAME.
      LS_GOODSMVT_HEADER-REF_DOC_NO = PS_OUTPUT-XBLNR.  "单号
      LS_GOODSMVT_HEADER-HEADER_TXT = PS_OUTPUT-BKTXT.  "备注
      LS_GOODSMVT_CODE = '03'.  "MB1A
    
    *行项目部分给值(根据移动类型有差异):
      LOOP AT PT_OUTPUT INTO LS_OUTPUT .
        LS_GOODSMVT_ITEM-MATERIAL  = LS_OUTPUT-MATNR.
        LS_GOODSMVT_ITEM-PLANT     = LS_OUTPUT-WERKS.
        LS_GOODSMVT_ITEM-STGE_LOC  = LS_OUTPUT-LGORT.
        LS_GOODSMVT_ITEM-MOVE_TYPE = LS_OUTPUT-BWART.
        LS_GOODSMVT_ITEM-ENTRY_QNT = LS_OUTPUT-ERFMG.
        CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
          EXPORTING
            INPUT          = LS_OUTPUT-ERFME
    *       LANGUAGE       = SY-LANGU
          IMPORTING
            OUTPUT         = LS_GOODSMVT_ITEM-ENTRY_UOM
          EXCEPTIONS
            UNIT_NOT_FOUND = 1
            OTHERS         = 2.
        IF SY-SUBRC <> 0.
    * Implement suitable error handling here
        ENDIF.
    
    *    ls_goodsmvt_item-entry_uom = ls_output-erfme.
        LS_GOODSMVT_ITEM-ORDERID   = LS_OUTPUT-AUFNR. "生产订单
        IF LS_OUTPUT-BWART = '262' OR LS_OUTPUT-BWART = 'Y62'. "部分冲销
          LS_GOODSMVT_ITEM-XSTOB     = 'X'.
        ENDIF.
        APPEND LS_GOODSMVT_ITEM TO LT_GOODSMVT_ITEM.
      ENDLOOP.
    
      CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
        EXPORTING
          GOODSMVT_HEADER  = LS_GOODSMVT_HEADER
          GOODSMVT_CODE    = LS_GOODSMVT_CODE
        IMPORTING
          MATERIALDOCUMENT = LV_MATERIALDOCUMENT
          MATDOCUMENTYEAR  = LV_MATDOCUMENTYEAR
        TABLES
          GOODSMVT_ITEM    = LT_GOODSMVT_ITEM[]
          RETURN           = LT_RETURN[].
    
      IF LV_MATERIALDOCUMENT IS INITIAL.
    *    pv_flg = 'X'.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
        PS_OUTPUT-MSGTYPE = 'E'.
        PS_OUTPUT-LIGHT = '1'.
      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
          EXPORTING
            WAIT = 'X'.
        LV_MESSAGE = TEXT-001.
        PS_OUTPUT-MSGTYPE = 'S'.
        PS_OUTPUT-LIGHT = '3'.
      ENDIF.
    
      LOOP AT LT_RETURN INTO LS_RETURN WHERE TYPE = 'E' .
        CONCATENATE LV_MESSAGE
                    LS_RETURN-MESSAGE
                    LS_RETURN-MESSAGE_V1
                    LS_RETURN-MESSAGE_V2
                    LS_RETURN-MESSAGE_V3
                    LS_RETURN-MESSAGE_V4
                    INTO LV_MESSAGE.
      ENDLOOP.
      PS_OUTPUT-MBLNR = LV_MATERIALDOCUMENT.
      PS_OUTPUT-MJAHR = LV_MATDOCUMENTYEAR.
      PS_OUTPUT-MESG  = LV_MESSAGE.
  • 相关阅读:
    创建自动执行存储过程
    创建链接服务器
    SQLServer查询特殊符号处理
    SQL Server维护计划自动备份数据库
    SQL Server收缩数据库&列出所有表的数据条数
    SQL server日志文件过大处理方式
    SQL Server批量删除数据库表
    done apple经理面 匹配括号但是不能用stack
    done Beaconfire中国小哥中规中矩screening
    done marlabs挺难的screening
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6575190.html
Copyright © 2011-2022 走看看