BAPI_GOODSMVT_CREATE的几个应用

只讲下 goodsmvt_item的输入参数:

mb1a 移动类型261对应输入参数:

CLEAR lw_body3.

LOOP AT gt_body3 INTO lw_body3.

lw_goodsmvt_item-plant     = ‘1201′.“工厂

lw_goodsmvt_item-stge_loc  = ‘L001′.“库存地点

lw_goodsmvt_item-move_type = ‘261′.“移动类型

lw_goodsmvt_item-entry_qnt = lw_ylzl  .“数量

lw_goodsmvt_item-entry_uom = ‘KG’.“单位

lw_goodsmvt_item-orderid   = lw_body3-ddhm.“订单号

lw_goodsmvt_item-material  = lw_body1-yldm.“原料代码

lw_goodsmvt_item-batch     = lw_body1-ylph.“原料批号

SELECT SINGLE rsnum rspos                 “ 预留编号,预留项目编号

INTO (lw_goodsmvt_item-reserv_no,lw_goodsmvt_item-res_item)

FROM resb

WHERE aufnr = lw_body3-ddhm

AND matnr = lw_body1-yldm.

APPEND lw_goodsmvt_item to lt_goodsmvt_item.

ENDLOOP.

ENDLOOP.

IF lt_goodsmvt_item is NOT INITIAL.

CALL FUNCTION ‘BAPI_GOODSMVT_CREATE’

EXPORTING

GOODSMVT_HEADER                = lw_goodsmvt_header

GOODSMVT_CODE                  = ‘03′

IMPORTING

GOODSMVT_HEADRET               = lw_goodsmvt_headret

MATERIALDOCUMENT               = lw_materialdocument

MATDOCUMENTYEAR                = lw_matdocumentyear

TABLES

GOODSMVT_ITEM                  = lt_goodsmvt_item

RETURN = lt_return.

IF lw_materialdocument IS NOT INITIAL.

CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’.

mb31 移动类型122:

CLEAR lw_body2.

REFRESH lt_goodsmvt_item.

CLEAR:lw_goodsmvt_headret,lw_materialdocument,lw_matdocumentyear,lw_goodsmvt_item.

LOOP AT gt_body2 INTO lw_body2 WHERE gz <> ‘Y’.

IF lw_body2-yddh = lw_body2-fgddh.

“同订单,MB31,移动类型122

lw_goodsmvt_item-plant = ‘1201′.“工厂别

lw_goodsmvt_item-stge_loc = ‘L001′.  “库位

lw_goodsmvt_item-move_type = ‘122′.  “移动类型

lw_goodsmvt_item-batch = lw_body2-fgoph.“批号

lw_goodsmvt_item-entry_qnt = lw_body2-zl.“数量

lw_goodsmvt_item-entry_uom = ‘KG’.            “单位

lw_goodsmvt_item-orderid = lw_body2-fgddh.    “订单号

SELECT SINGLE posnr INTO lw_posnr

FROM afpo

WHERE aufnr = lw_body2-fgddh

AND matnr = lw_body2-fgpdm.

lw_p2_goodsmvt_item-order_itno = lw_posnr.“订单项目编号

lw_p2_goodsmvt_item-MOVE_REAS = ‘0002′.“移动原因

lw_p2_goodsmvt_item-mvt_ind = ‘F’.     “移动标识

APPEND lw_goodsmvt_item to lt_goodsmvt_item.

ENDIF.

endloop.

IF lt_goodsmvt_item is NOT INITIAL .

CALL FUNCTION ‘BAPI_GOODSMVT_CREATE’

EXPORTING

GOODSMVT_HEADER                = lw_goodsmvt_header

GOODSMVT_CODE                  = ‘02′

IMPORTING

GOODSMVT_HEADRET               = lw_goodsmvt_headret

MATERIALDOCUMENT               = lw_materialdocument

MATDOCUMENTYEAR                = lw_matdocumentyear

TABLES

GOODSMVT_ITEM                  = lt_goodsmvt_item

RETURN = lt_return.

IF lw_materialdocument IS NOT INITIAL.

CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’.

PS:

货物移动的bapi  BAPI_GOODSMVT_CREATE

其中 参数 : GOODSMVT_CODE 有

GMCODE Table T158G - 01 - MB01 - Goods Receipts for Purchase Order

*                      02 - MB31 - Goods Receipts for Prod Order

*                      03 - MB1A - Goods Issue

*                      04 - MB1B - Transfer Posting

*                      05 - MB1C - Enter Other Goods Receipt

*                      06 - MB11

*                      07 - MB04

事物代码MBST凭证冲销 BAPI  BAPI_GOODSMVT_CANCEL

获得凭证明细 BAPI  BAPI_GOODSMVT_GETDETAIL

根据物料 工厂 移动类型  记账日期 创建人 等查询凭证 BAPI  BAPI_GOODSMVT_GETITEMS

SAP内部使用 BAPI  BAPI_GOODSMVT_SAPCREATE