金色传说:SAP-BAPI-BAPI_GOODSMVT_CREATE创建物料凭证bapi的使用及参数值讲解


前言

物料凭证创建bapi:BAPI_GOODSMVT_CREATE


以下是本篇文章正文内容,下面案例可供参考

代码如下(示例):

一、数据定义:

 DATA: goodsmvt_header  TYPE bapi2017_gm_head_01,"放过账日期,操作者,抬头文本等抬头数据
        goodsmvt_code    TYPE bapi2017_gm_code,"使用的过账事务,下方有参数详述
        gt_good          TYPE TABLE OF bapi2017_gm_item_create, “重要表,存储要进行货物移动的物料,数量,等
        gw_good          TYPE bapi2017_gm_item_create, ”工作区
        goodsmvt_headret TYPE bapi2017_gm_head_ret,"过账后产生的物料凭证编号和年份
        return           LIKE TABLE OF bapiret2 WITH HEADER LINE."返回消息
  DATA: materialdocument TYPE  bapi2017_gm_head_ret-mat_doc,"单独存放的物料凭证号
        matdocumentyear  TYPE bapi2017_gm_head_ret-doc_year."单独存放的凭证年份
  DATA: ev_msgty TYPE BAPI_MTYPE,"消息类型: S 成功,E 错误,W 警告,I 信息,A 中断
        ev_mestx TYPE BAPI_MSG."消息文本

二、BAPI参数值讲解

goodsmvt_header 常用参数讲解
抬头文本:goodsmvt_header-header_txt
过账日期:goodsmvt_header-pstng_date
凭证日期:goodsmvt_header-doc_date

gt_good部分值讲解
物料号:gw_good-material
工厂:gw_good-plant
发货库存地:gw_good-stge_loc
收货库存地:gw_good-move_stloc
移动类型:gw_good-move_type
数量:gw_good-entry_qnt
是否创建转移请求(TR):gw_good-no_transfer_req
成本中心:gw_good-costcenter

金色传说 进行销售订单库存移动时,一定要使用val_sales_ord 和val_s_ord_item,不要使用SALES_ORD和S_ORD_ITEM
特殊库存:gw_good-spec_stock "E,O等
销售订单库存销售订单号:gw_good-val_sales_ord
销售订单库存行项目号:gw_good-val_s_ord_item
批次号:gw_good-batch

goodsmvt_code参数值讲解
BAPI 货物移动分配事务代码:goodsmvt_code-gm_code = ’06‘
下面给出该参数的值和对应的事务码:
01 :MB01
02: MB31
03 :MB1A
04 :MB1B
05 :MB1C
06 :MB11
07 :MB04
以上这些值存储在表T158G中。

三、BAPI调用

工作区goodsmvt_header,goodsmvt_code和表gt_good 给值后,调用bapi

"调用BAPI生成物料凭证
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        goodsmvt_header  = goodsmvt_header
        goodsmvt_code    = goodsmvt_code
*       TESTRUN          = ' '      ”此参数可不使用
*       GOODSMVT_REF_EWM =          ”此参数可不使用
*       GOODSMVT_PRINT_CTRL     =   ”此参数可不使用
      IMPORTING
        goodsmvt_headret = goodsmvt_headret
        materialdocument = materialdocument
        matdocumentyear  = matdocumentyear "此三个返回参数根据需求使用
      TABLES
        goodsmvt_item    = gt_good 
*       GOODSMVT_SERIALNUMBER         = ”此参数可不使用
        return           = return
*       GOODSMVT_SERV_PART_DATA       = ”此参数可不使用
*       EXTENSIONIN      =              ”此参数可不使用
*       GOODSMVT_ITEM_CWM             = ”此参数可不使用
      .     ”注意写句号
 "对RETURN的日志消息进行处理
 LOOP AT return WHERE type = 'A' OR type = 'E'.
      ev_msgty = 'E'.
      ev_mestx = return-message.
      EXIT.
 ENDLOOP.

以上 ==不妥之处欢迎留言指正。手动笑脸==

欢迎关注公众号,每日更新:
在这里插入图片描述

使用BAPI_GOODSMVT_CREATE跨工厂物料调拨时,需要对以下参数进行赋值: 1. GOODSMVT_HEADER:物料凭证头数据 - PSTNG_DATE:过账日期 - DOC_DATE:凭证日期 - REF_DOC_NO:参考凭证号码 - HEADER_TXT:凭证抬头文本 - GM_CODE:物料移动类型 2. GOODSMVT_CODE:物料移动类型数据 - GM_CODE:物料移动类型代码 3. GOODSMVT_ITEM:物料凭证行项目数据 - MATERIAL:物料- PLANT:发货工厂 - STORAGE_LOC:发货库存地点 - MOVE_TYPE:移动类型 - ENTRY_QNT:数量 - ENTRY_UOM:计量单位 - COSTCENTER:成本中心 - VAL_TYPE:价值类型 - MOVE_PLANT:收货工厂 - MOVE_STLOC:收货库存地点 - ITEM_TEXT:项目文本 下面是一个简单的示例代码: ``` DATA: lv_material TYPE bapi2017_gm_item_create-matnr, lv_plant TYPE bapi2017_gm_item_create-werks, lv_stloc TYPE bapi2017_gm_item_create-lgort, lv_move_type TYPE bapi2017_gm_head-mvt_code, lv_entry_qnt TYPE bapi2017_gm_item_create-menge, lv_entry_uom TYPE bapi2017_gm_item_create-meins, lv_costcenter TYPE bapi2017_gm_item_create-kostl, lv_val_type TYPE bapi2017_gm_item_create-bwtar, lv_move_plant TYPE bapi2017_gm_item_create-wempf, lv_move_stloc TYPE bapi2017_gm_item_create-lgort, lt_item_data TYPE TABLE OF bapi2017_gm_item_create, ls_item_data LIKE LINE OF lt_item_data. ls_item_data-matnr = lv_material. ls_item_data-werks = lv_plant. ls_item_data-lgort = lv_stloc. ls_item_data-mvt_ind = lv_move_type. ls_item_data-menge = lv_entry_qnt. ls_item_data-meins = lv_entry_uom. ls_item_data-kostl = lv_costcenter. ls_item_data-bwtar = lv_val_type. ls_item_data-wempf = lv_move_plant. ls_item_data-welme = lv_entry_uom. ls_item_data-lgort_wempf = lv_move_stloc. APPEND ls_item_data TO lt_item_data. CALL FUNCTION 'BAPI_GOODSMVT_CREATE' EXPORTING goodsmvt_header = ls_header_data goodsmvt_code = ls_code_data TABLES goodsmvt_item = lt_item_data EXCEPTIONS error_message = 1 OTHERS = 2. ``` 请根据实际情况进行相应的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EasyStudios

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值