BAPI_GOODSMVT_CREATE实现订单车非订单车的库存移动

来源:互联网 发布:windows qt开发环境 编辑:程序博客网 时间:2024/04/26 07:24

DATA: wk_header TYPE bapi2017_gm_head_01,
      wk_code TYPE bapi2017_gm_code VALUE '04',
      it_item TYPE TABLE OF bapi2017_gm_item_create,
      it_serial TYPE TABLE OF bapi2017_gm_serialnumber,
      it_return TYPE TABLE OF bapiret2,
      wa_item LIKE LINE OF it_item,
      wa_serial LIKE LINE OF it_serial,
      wa_return LIKE LINE OF it_return,
      wk_headret TYPE bapi2017_gm_head_ret.
* move corresponding bapi parameters
wk_header-pstng_date = pstng_date.
wk_header-doc_date = doc_date.
wk_code-gm_code = '04'.

wa_item-material = material.
wa_item-plant = plant.
wa_item-stge_loc = stg_loc.
wa_item-move_type = move_type.
* 库存类型
SELECT SINGLE sobkz INTO wa_item-spec_stock
         FROM eqbs INNER JOIN equi
           ON equi~equnr = eqbs~equnr
        WHERE equi~sernr = serial_no.
* 如果是订单车
IF wa_item-spec_stock = 'E'.
  wa_item-val_sales_ord = vbeln.
  wa_item-val_s_ord_item = posnr.
ENDIF.
wa_item-entry_qnt = entry_qnt.
wa_item-entry_uom = entry_vom.
wa_item-move_plant = move_plant.
wa_item-move_stloc = move_stloc.
APPEND wa_item TO it_item.
wa_serial-matdoc_itm = '0001'.
wa_serial-serialno = serial_no.
APPEND wa_serial TO it_serial.

CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
  EXPORTING
    GOODSMVT_HEADER             = wk_header
    GOODSMVT_CODE               = wk_code
*   TESTRUN                     = ' '
  IMPORTING
    GOODSMVT_HEADRET            = wk_headret
  TABLES
    GOODSMVT_ITEM               = it_item
    GOODSMVT_SERIALNUMBER       = it_serial
    RETURN                      = it_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
    WAIT          = 'X'    .

原创粉丝点击