BAPI 创建343物料凭证

这篇博客详细介绍了如何在SAP系统中使用BAPI函数调用'BAPI_GOODSMVT_CREATE',通过移动类型343将锁定库存转移到未限制使用的库存。代码示例展示了设置必要的参数,如物料、工厂、库存地点和数量,并处理可能的错误。过账成功后,系统会进行事务提交;如果失败,则回滚事务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用转移类型343将过账将过帐锁定库存传输到未限制使用的库存。

*使用bapi需要用到的
  "Import
  DATA: gs_goodsmvt_header TYPE bapi2017_gm_head_01,
        gv_goodsmvt_code   TYPE bapi2017_gm_code.

  "Export
  DATA: gs_goodsmvt_headref TYPE bapi2017_gm_head_ret.

  "Table
  DATA: gt_goodsmvt_item TYPE TABLE OF bapi2017_gm_item_create,
        wa_goodsmvt_item TYPE bapi2017_gm_item_create,
        gt_return        TYPE TABLE OF bapiret2,
        wa_return        TYPE bapiret2.
  DATA: lv_error TYPE c.

GM Code 在 T158G 这个表里

 "Goods Move
  "Header
  gs_goodsmvt_header-pstng_date = sy-datum.
  gs_goodsmvt_header-doc_date = sy-datum.

  "GM Code
  gv_goodsmvt_code = '06'.   "收货

  "Item
  wa_goodsmvt_item-material      = gs_output-matnr.     "物料
  wa_goodsmvt_item-plant         = gs_output-werks101.  "工厂
  wa_goodsmvt_item-stge_loc      = gs_output-lgort101.  "库存地点
  wa_goodsmvt_item-move_type     = '343'.               "移动类型 343
  wa_goodsmvt_item-entry_qnt     = gs_output-menge343.  "交货数量
  wa_goodsmvt_item-entry_uom     = gs_output-meins.     "销售单位
  wa_goodsmvt_item-entry_uom_iso = gs_output-meins.     "基本的单位
  APPEND wa_goodsmvt_item TO gt_goodsmvt_item.


  CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
    EXPORTING
      goodsmvt_header  = gs_goodsmvt_header
      goodsmvt_code    = gv_goodsmvt_code
    IMPORTING
      goodsmvt_headret = gs_goodsmvt_headref
    TABLES
      goodsmvt_item    = gt_goodsmvt_item
      return           = gt_return.

  LOOP AT gt_return INTO wa_return WHERE type CA 'AEX'.
    IF sy-subrc = 0.
      lv_error = 'E'.
      EXIT.
    ENDIF.
  ENDLOOP.

  IF lv_error EQ 'E'.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    MESSAGE '过账失败' TYPE 'S' DISPLAY LIKE 'E'.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait = 'X'.
    MESSAGE '过账成功' TYPE 'S'.

  ENDIF.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值