BAPI_GOODSMVT_CREATE 带序列号

API_GOODSMVT_CREATE

物料移动,比如MB1B

'343' "unblock

'344' "block

参考代码

*&BAPI

  DATA: goodsmvt_header   LIKE  bapi2017_gm_head_01,

        goodsmvt_code     LIKE  bapi2017_gm_code.

  DATA: goodsmvt_headret  LIKE  bapi2017_gm_head_ret,

        materialdocument  TYPE  bapi2017_gm_head_ret-mat_doc,

        matdocumentyear   TYPE  bapi2017_gm_head_ret-doc_year.

  DATA:goodsmvt_item         LIKE TABLE OF bapi2017_gm_item_create  WITH HEADER LINE,

       goodsmvt_serialnumber LIKE TABLE OF bapi2017_gm_serialnumber WITH HEADER LINE,

       return                LIKE TABLE OF bapiret2                 WITH HEADER LINE.

  FIELD-SYMBOLS LIKE LINE OF goodsmvt_item.

  DATA:lv_item_line            TYPE int4.

  CHECK it_data[] IS NOT INITIAL.

*抬头部分给值:

  CLEAR: goodsmvt_item[],goodsmvt_header.

  REFRESH: goodsmvt_item.

    goodsmvt_header-pstng_date = sy-datum.

    goodsmvt_header-doc_date = sy-datum.

  goodsmvt_header-pr_uname = sy-uname.

  goodsmvt_code = '04'.

*行项目部分给值

  LOOP AT it_data INTO ls_data .

      goodsmvt_item-material    = ls_data-matnr.

      goodsmvt_item-plant       = ls_data-werks.

      goodsmvt_item-stge_loc    = ls_data-lgort.

      goodsmvt_item-move_type   = iv_move_type.

      goodsmvt_item-move_plant  = ls_data-werks.

      goodsmvt_item-move_stloc  = ls_data-lgort.

      goodsmvt_item-entry_qnt   = 1.            " only 1

READ TABLE goodsmvt_item ASSIGNING <ls_item>

        WITH KEY  material    = ls_data-matnr

                  plant       = ls_data-werks

                  stge_loc    = ls_data-lgort

                  move_type   = iv_move_type

                  move_plant  = ls_data-werks

                  move_stloc  = ls_data-lgort.

      IF sy-subrc = 0.

        <ls_item>-entry_qnt = <ls_item>-entry_qnt + 1.

      ELSE.

        APPEND goodsmvt_item.

      ENDIF.

      DESCRIBE TABLE goodsmvt_item LINES lv_item_line.

      goodsmvt_serialnumber-matdoc_itm = lv_item_line.

      goodsmvt_serialnumber-serialno   = ls_data-sernr.

      APPEND goodsmvt_serialnumber.

**********

Call bapi

      CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
        EXPORTING
          goodsmvt_header       = goodsmvt_header
          goodsmvt_code         = '04'       "#EC * "goodsmvt_code mb1b
        IMPORTING
          materialdocument      = materialdocument
          matdocumentyear       = matdocumentyear
        TABLES
          goodsmvt_item         = goodsmvt_item[]
          goodsmvt_serialnumber = goodsmvt_serialnumber
          return                = return[].

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.

      READ TABLE return WITH KEY type = 'E'.
      IF sy-subrc = 0.

        CALL FUNCTION 'MESSAGE_TEXT_BUILD'
          EXPORTING
            msgid               = return-id
            msgnr               = return-number
            msgv1               = return-message_v1
            msgv2               = return-message_v2
            msgv3               = return-message_v3
            msgv4               = return-message_v4
          IMPORTING
            message_text_output = lv_msg.

      ELSE.
        lv_mblnr = materialdocument.
      ENDIF.

98d9e30bd1a722be00539429ab75d408.gif

0d6f7088bb4750e5d22d43c5a5cf8ec1.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值