** MIGO BAPI变量
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, "过账后产生的物料凭证编号和年份
lt_return LIKE TABLE OF bapiret2 , "返回消息内表
lw_return LIKE bapiret2. "返回消息结构
DATA: materialdocument TYPE bapi2017_gm_head_ret-mat_doc, "单独存放的物料凭证号
matdocumentyear TYPE bapi2017_gm_head_ret-doc_year, "单独存放的凭证年份
i_mat_doc LIKE rm07m-mblnr, "返回凭证号
i_mat_year LIKE rm07m-mjahr, "返回凭证年度
lv_pstng_date LIKE sy-datum. "过账日期
LOOP AT lt_data INTO lw_data.
IF sy-tabix = 1.
goodsmvt_header-header_txt = lw_data-wmsdh. "抬头文本
goodsmvt_header-doc_date = sy-datum. "生成凭证日期
ENDIF.
gw_good-material = lw_data-matnr. " 物料号
gw_good-plant = lw_data-werks. " 工厂
gw_good-stge_loc = lw_data-lgort. " 发货库存地
gw_good-entry_qnt = lw_data-menge. " 数量
gw_good-entry_uom = lw_data-meins. " 单位
gw_good-batch = lw_data-charg. " 批次
gw_good-item_text = |{ lw_data-wmsdh }/{ lw_data-wmshh }|.
gw_good-mvt_ind = 'B'. " 移动标识 B:采购收货 F:生产收货
gw_good-move_type = '101'. " 移动类型
gw_good-po_number = lw_data-sapdh. " 采购订单单号
gw_good-po_item = lw_data-saphh+1(5). " 采购订单行号
gw_good-po_item = |{ gw_good-po_item ALPHA = IN }|.
APPEND gw_good TO gt_good.
CLEAR: gw_good,lw_data,lv_lfart.
ENDLOOP.
goodsmvt_header-pstng_date = lv_pstng_date. "凭证过账日期
goodsmvt_code = '01'.
"调用BAPI生成物料凭证
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = goodsmvt_header
goodsmvt_code = goodsmvt_code
IMPORTING
materialdocument = i_mat_doc
matdocumentyear = i_mat_year
TABLES
goodsmvt_item = gt_good
return = lt_return.
READ TABLE lt_return INTO lw_return WITH KEY type = 'E'.
IF sy-subrc <> 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
mat_doc = |{ i_mat_doc }{ i_mat_year }|.
mtype = 'S'.
msg = |生成SAP物料凭证:{ i_mat_doc }|.
ELSE.
mtype = 'E'.
msg = |物料凭证创建失败:{ lw_return-message }|.
ENDIF.
Abap - 采购退货出库 使用MIGOBAPI BAPI_GOODSMVT_CREATE
于 2023-11-23 14:58:36 首次发布